diff --git a/.gitattributes b/.gitattributes index 439fe2380..e05e2367e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,4 @@ benchmarks/*.sh linguist-vendored *.wast linguist-vendored +r3/*.wat filter=lfs diff=lfs merge=lfs -text +*.wat filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md index 24e675d98..93b1baedd 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,10 @@
diff --git a/tests/latch/.gitattributes b/tests/latch/.gitattributes new file mode 100644 index 000000000..57f0b5797 --- /dev/null +++ b/tests/latch/.gitattributes @@ -0,0 +1 @@ +r3/*.wat filter=lfs diff=lfs merge=lfs -text diff --git a/tests/latch/package-lock.json b/tests/latch/package-lock.json index 88852dbfb..0666261ad 100644 --- a/tests/latch/package-lock.json +++ b/tests/latch/package-lock.json @@ -8,7 +8,7 @@ "name": "warduino-testsuite", "version": "1.0.0", "devDependencies": { - "latch": "file:./latch-0.4.1.tgz", + "latch": "file:./latch-0.4.3.tgz", "mqtt": "^4.3.7", "serialport": "^10.4.0", "typescript": "^4.5.5" @@ -276,20 +276,20 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "version": "25.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.2.tgz", + "integrity": "sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "undici-types": "~7.16.0" + "undici-types": "~7.19.0" } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "bin": { @@ -300,9 +300,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", "dev": true, "license": "MIT", "dependencies": { @@ -383,9 +383,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -527,9 +527,9 @@ } }, "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -574,9 +574,9 @@ "license": "ISC" }, "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", "dev": true, "license": "MIT", "engines": { @@ -590,7 +590,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -697,9 +697,9 @@ } }, "node_modules/latch": { - "version": "0.4.1", - "resolved": "file:latch-0.4.1.tgz", - "integrity": "sha512-GvpSRSwFcXl6t5h2gKyVbCB65QMJhzDhhSR+Yrl7H+AtApqJqYowl0vaDIUVrDgRvq/VBASZNYwy33TCuuxWlg==", + "version": "0.4.3", + "resolved": "file:latch-0.4.3.tgz", + "integrity": "sha512-vpHZzz2hw12K0cwck4Sssr6JDHdCTTn93dp+ZOPRssAiqYaouk1LhIesZFctmV7h9bJhzc12P3OdrSyDQWR67g==", "dev": true, "dependencies": { "ansi-colors": "^4.1.3", @@ -784,9 +784,9 @@ } }, "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": { @@ -957,9 +957,9 @@ "license": "MIT" }, "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", "dev": true, "license": "MIT", "dependencies": { @@ -1145,13 +1145,13 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -1224,6 +1224,7 @@ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1233,12 +1234,11 @@ } }, "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/util-deprecate": { "version": "1.0.2", diff --git a/tests/latch/package.json b/tests/latch/package.json index 68e0e1f17..3055160f8 100644 --- a/tests/latch/package.json +++ b/tests/latch/package.json @@ -5,6 +5,7 @@ "debugtest": "npx ts-node ./src/debugger.test.ts", "primtest": "npx ts-node ./src/primitives.test.ts", "spectest": "npx ts-node ./src/spec.test.ts", + "r3test": "npx ts-node ./src/r3.test.ts", "comptest": "npx ts-node ./src/comp.test.ts" }, "devDependencies": { diff --git a/tests/latch/src/debugger.test.ts b/tests/latch/src/debugger.test.ts index b78eaec27..99c0c0add 100644 --- a/tests/latch/src/debugger.test.ts +++ b/tests/latch/src/debugger.test.ts @@ -19,7 +19,7 @@ import { export const EMULATOR: string = process.env.EMULATOR ?? `${require('os').homedir()}/Arduino/libraries/WARDuino/build-emu/wdcli`; -const EXAMPLES: string = `${__dirname}/../examples/`; +const EXAMPLES: string = `${__dirname}/../static/examples/`; /** * Tests of the Remote Debugger API diff --git a/tests/latch/src/r3.test.ts b/tests/latch/src/r3.test.ts new file mode 100644 index 000000000..f0e4a8985 --- /dev/null +++ b/tests/latch/src/r3.test.ts @@ -0,0 +1,37 @@ +import {EmulatorSpecification, Framework, Kind, Message, StyleType, Suite, TestScenario, Verbosity, WASM} from 'latch'; +import * as fs from 'fs'; +import * as path from 'path'; + +const framework = Framework.getImplementation(); +framework.style(StyleType.github); +framework.reporter.verbosity(Verbosity.short); + +// TODO disclaimer: file is currently disabled until latch supports AS compilation + +const suite: Suite = framework.suite('End-to-end tests: R3 benchmark suite'); + +suite.testee('emulator [:8530]', new EmulatorSpecification(8530)); + +const scenarios: TestScenario[] = []; +const r3Directory = path.resolve(__dirname, '../static/r3'); +console.error(r3Directory) + +if (fs.existsSync(r3Directory)) { + fs.readdirSync(r3Directory) + .filter((file: string) => file.endsWith('.wat')) + .forEach((wasmFile: string) => { + scenarios.push({ + title: `R3: ${wasmFile}`, + program: path.join('static', 'r3', wasmFile), + dependencies: [], + steps: [{ + title: `Run ${wasmFile}`, + instruction: {kind: Kind.Request, value: Message.run} + }] + }); + }); +} + +suite.tests(scenarios); + +framework.run([suite]); diff --git a/tests/latch/src/spec.test.ts b/tests/latch/src/spec.test.ts index dcc1a06a9..626f4800e 100644 --- a/tests/latch/src/spec.test.ts +++ b/tests/latch/src/spec.test.ts @@ -16,8 +16,7 @@ import {find, parseArguments, parseAsserts, parseResult} from "./util/spec.util" // Parse tests from official suite -export const CORESUITE: string = process.env.CORESUITE ?? 'core/'; -export const TARGET: string = process.env.TARGET ?? 'core-cleaned/'; +export const CORESUITE: string = process.env.CORESUITE ?? 'static/core/'; const TESTFILE: string = process.env.TESTFILE ?? ''; diff --git a/tests/latch/core/.gitignore b/tests/latch/static/core/.gitignore similarity index 100% rename from tests/latch/core/.gitignore rename to tests/latch/static/core/.gitignore diff --git a/tests/latch/core/address_0.asserts.wast b/tests/latch/static/core/address_0.asserts.wast similarity index 100% rename from tests/latch/core/address_0.asserts.wast rename to tests/latch/static/core/address_0.asserts.wast diff --git a/tests/latch/core/address_0.wast b/tests/latch/static/core/address_0.wast similarity index 100% rename from tests/latch/core/address_0.wast rename to tests/latch/static/core/address_0.wast diff --git a/tests/latch/core/address_1.asserts.wast b/tests/latch/static/core/address_1.asserts.wast similarity index 100% rename from tests/latch/core/address_1.asserts.wast rename to tests/latch/static/core/address_1.asserts.wast diff --git a/tests/latch/core/address_1.wast b/tests/latch/static/core/address_1.wast similarity index 100% rename from tests/latch/core/address_1.wast rename to tests/latch/static/core/address_1.wast diff --git a/tests/latch/core/address_2.asserts.wast b/tests/latch/static/core/address_2.asserts.wast similarity index 100% rename from tests/latch/core/address_2.asserts.wast rename to tests/latch/static/core/address_2.asserts.wast diff --git a/tests/latch/core/address_2.wast b/tests/latch/static/core/address_2.wast similarity index 100% rename from tests/latch/core/address_2.wast rename to tests/latch/static/core/address_2.wast diff --git a/tests/latch/core/address_3.asserts.wast b/tests/latch/static/core/address_3.asserts.wast similarity index 100% rename from tests/latch/core/address_3.asserts.wast rename to tests/latch/static/core/address_3.asserts.wast diff --git a/tests/latch/core/address_3.wast b/tests/latch/static/core/address_3.wast similarity index 100% rename from tests/latch/core/address_3.wast rename to tests/latch/static/core/address_3.wast diff --git a/tests/latch/core/align_23.asserts.wast b/tests/latch/static/core/align_23.asserts.wast similarity index 100% rename from tests/latch/core/align_23.asserts.wast rename to tests/latch/static/core/align_23.asserts.wast diff --git a/tests/latch/core/align_23.wast b/tests/latch/static/core/align_23.wast similarity index 100% rename from tests/latch/core/align_23.wast rename to tests/latch/static/core/align_23.wast diff --git a/tests/latch/core/align_24.asserts.wast b/tests/latch/static/core/align_24.asserts.wast similarity index 100% rename from tests/latch/core/align_24.asserts.wast rename to tests/latch/static/core/align_24.asserts.wast diff --git a/tests/latch/core/align_24.wast b/tests/latch/static/core/align_24.wast similarity index 100% rename from tests/latch/core/align_24.wast rename to tests/latch/static/core/align_24.wast diff --git a/tests/latch/core/call_0.asserts.wast b/tests/latch/static/core/call_0.asserts.wast similarity index 100% rename from tests/latch/core/call_0.asserts.wast rename to tests/latch/static/core/call_0.asserts.wast diff --git a/tests/latch/core/call_0.wast b/tests/latch/static/core/call_0.wast similarity index 100% rename from tests/latch/core/call_0.wast rename to tests/latch/static/core/call_0.wast diff --git a/tests/latch/core/call_indirect_0.asserts.wast b/tests/latch/static/core/call_indirect_0.asserts.wast similarity index 100% rename from tests/latch/core/call_indirect_0.asserts.wast rename to tests/latch/static/core/call_indirect_0.asserts.wast diff --git a/tests/latch/core/call_indirect_0.wast b/tests/latch/static/core/call_indirect_0.wast similarity index 100% rename from tests/latch/core/call_indirect_0.wast rename to tests/latch/static/core/call_indirect_0.wast diff --git a/tests/latch/core/call_indirect_1.wast b/tests/latch/static/core/call_indirect_1.wast similarity index 100% rename from tests/latch/core/call_indirect_1.wast rename to tests/latch/static/core/call_indirect_1.wast diff --git a/tests/latch/core/const_102.asserts.wast b/tests/latch/static/core/const_102.asserts.wast similarity index 100% rename from tests/latch/core/const_102.asserts.wast rename to tests/latch/static/core/const_102.asserts.wast diff --git a/tests/latch/core/const_102.wast b/tests/latch/static/core/const_102.wast similarity index 100% rename from tests/latch/core/const_102.wast rename to tests/latch/static/core/const_102.wast diff --git a/tests/latch/core/const_103.asserts.wast b/tests/latch/static/core/const_103.asserts.wast similarity index 100% rename from tests/latch/core/const_103.asserts.wast rename to tests/latch/static/core/const_103.asserts.wast diff --git a/tests/latch/core/const_103.wast b/tests/latch/static/core/const_103.wast similarity index 100% rename from tests/latch/core/const_103.wast rename to tests/latch/static/core/const_103.wast diff --git a/tests/latch/core/const_104.asserts.wast b/tests/latch/static/core/const_104.asserts.wast similarity index 100% rename from tests/latch/core/const_104.asserts.wast rename to tests/latch/static/core/const_104.asserts.wast diff --git a/tests/latch/core/const_104.wast b/tests/latch/static/core/const_104.wast similarity index 100% rename from tests/latch/core/const_104.wast rename to tests/latch/static/core/const_104.wast diff --git a/tests/latch/core/const_105.asserts.wast b/tests/latch/static/core/const_105.asserts.wast similarity index 100% rename from tests/latch/core/const_105.asserts.wast rename to tests/latch/static/core/const_105.asserts.wast diff --git a/tests/latch/core/const_105.wast b/tests/latch/static/core/const_105.wast similarity index 100% rename from tests/latch/core/const_105.wast rename to tests/latch/static/core/const_105.wast diff --git a/tests/latch/core/const_106.asserts.wast b/tests/latch/static/core/const_106.asserts.wast similarity index 100% rename from tests/latch/core/const_106.asserts.wast rename to tests/latch/static/core/const_106.asserts.wast diff --git a/tests/latch/core/const_106.wast b/tests/latch/static/core/const_106.wast similarity index 100% rename from tests/latch/core/const_106.wast rename to tests/latch/static/core/const_106.wast diff --git a/tests/latch/core/const_107.asserts.wast b/tests/latch/static/core/const_107.asserts.wast similarity index 100% rename from tests/latch/core/const_107.asserts.wast rename to tests/latch/static/core/const_107.asserts.wast diff --git a/tests/latch/core/const_107.wast b/tests/latch/static/core/const_107.wast similarity index 100% rename from tests/latch/core/const_107.wast rename to tests/latch/static/core/const_107.wast diff --git a/tests/latch/core/const_108.asserts.wast b/tests/latch/static/core/const_108.asserts.wast similarity index 100% rename from tests/latch/core/const_108.asserts.wast rename to tests/latch/static/core/const_108.asserts.wast diff --git a/tests/latch/core/const_108.wast b/tests/latch/static/core/const_108.wast similarity index 100% rename from tests/latch/core/const_108.wast rename to tests/latch/static/core/const_108.wast diff --git a/tests/latch/core/const_109.asserts.wast b/tests/latch/static/core/const_109.asserts.wast similarity index 100% rename from tests/latch/core/const_109.asserts.wast rename to tests/latch/static/core/const_109.asserts.wast diff --git a/tests/latch/core/const_109.wast b/tests/latch/static/core/const_109.wast similarity index 100% rename from tests/latch/core/const_109.wast rename to tests/latch/static/core/const_109.wast diff --git a/tests/latch/core/const_110.asserts.wast b/tests/latch/static/core/const_110.asserts.wast similarity index 100% rename from tests/latch/core/const_110.asserts.wast rename to tests/latch/static/core/const_110.asserts.wast diff --git a/tests/latch/core/const_110.wast b/tests/latch/static/core/const_110.wast similarity index 100% rename from tests/latch/core/const_110.wast rename to tests/latch/static/core/const_110.wast diff --git a/tests/latch/core/const_111.asserts.wast b/tests/latch/static/core/const_111.asserts.wast similarity index 100% rename from tests/latch/core/const_111.asserts.wast rename to tests/latch/static/core/const_111.asserts.wast diff --git a/tests/latch/core/const_111.wast b/tests/latch/static/core/const_111.wast similarity index 100% rename from tests/latch/core/const_111.wast rename to tests/latch/static/core/const_111.wast diff --git a/tests/latch/core/const_112.asserts.wast b/tests/latch/static/core/const_112.asserts.wast similarity index 100% rename from tests/latch/core/const_112.asserts.wast rename to tests/latch/static/core/const_112.asserts.wast diff --git a/tests/latch/core/const_112.wast b/tests/latch/static/core/const_112.wast similarity index 100% rename from tests/latch/core/const_112.wast rename to tests/latch/static/core/const_112.wast diff --git a/tests/latch/core/const_113.asserts.wast b/tests/latch/static/core/const_113.asserts.wast similarity index 100% rename from tests/latch/core/const_113.asserts.wast rename to tests/latch/static/core/const_113.asserts.wast diff --git a/tests/latch/core/const_113.wast b/tests/latch/static/core/const_113.wast similarity index 100% rename from tests/latch/core/const_113.wast rename to tests/latch/static/core/const_113.wast diff --git a/tests/latch/core/const_114.asserts.wast b/tests/latch/static/core/const_114.asserts.wast similarity index 100% rename from tests/latch/core/const_114.asserts.wast rename to tests/latch/static/core/const_114.asserts.wast diff --git a/tests/latch/core/const_114.wast b/tests/latch/static/core/const_114.wast similarity index 100% rename from tests/latch/core/const_114.wast rename to tests/latch/static/core/const_114.wast diff --git a/tests/latch/core/const_115.asserts.wast b/tests/latch/static/core/const_115.asserts.wast similarity index 100% rename from tests/latch/core/const_115.asserts.wast rename to tests/latch/static/core/const_115.asserts.wast diff --git a/tests/latch/core/const_115.wast b/tests/latch/static/core/const_115.wast similarity index 100% rename from tests/latch/core/const_115.wast rename to tests/latch/static/core/const_115.wast diff --git a/tests/latch/core/const_116.asserts.wast b/tests/latch/static/core/const_116.asserts.wast similarity index 100% rename from tests/latch/core/const_116.asserts.wast rename to tests/latch/static/core/const_116.asserts.wast diff --git a/tests/latch/core/const_116.wast b/tests/latch/static/core/const_116.wast similarity index 100% rename from tests/latch/core/const_116.wast rename to tests/latch/static/core/const_116.wast diff --git a/tests/latch/core/const_117.asserts.wast b/tests/latch/static/core/const_117.asserts.wast similarity index 100% rename from tests/latch/core/const_117.asserts.wast rename to tests/latch/static/core/const_117.asserts.wast diff --git a/tests/latch/core/const_117.wast b/tests/latch/static/core/const_117.wast similarity index 100% rename from tests/latch/core/const_117.wast rename to tests/latch/static/core/const_117.wast diff --git a/tests/latch/core/const_118.asserts.wast b/tests/latch/static/core/const_118.asserts.wast similarity index 100% rename from tests/latch/core/const_118.asserts.wast rename to tests/latch/static/core/const_118.asserts.wast diff --git a/tests/latch/core/const_118.wast b/tests/latch/static/core/const_118.wast similarity index 100% rename from tests/latch/core/const_118.wast rename to tests/latch/static/core/const_118.wast diff --git a/tests/latch/core/const_119.asserts.wast b/tests/latch/static/core/const_119.asserts.wast similarity index 100% rename from tests/latch/core/const_119.asserts.wast rename to tests/latch/static/core/const_119.asserts.wast diff --git a/tests/latch/core/const_119.wast b/tests/latch/static/core/const_119.wast similarity index 100% rename from tests/latch/core/const_119.wast rename to tests/latch/static/core/const_119.wast diff --git a/tests/latch/core/const_120.asserts.wast b/tests/latch/static/core/const_120.asserts.wast similarity index 100% rename from tests/latch/core/const_120.asserts.wast rename to tests/latch/static/core/const_120.asserts.wast diff --git a/tests/latch/core/const_120.wast b/tests/latch/static/core/const_120.wast similarity index 100% rename from tests/latch/core/const_120.wast rename to tests/latch/static/core/const_120.wast diff --git a/tests/latch/core/const_121.asserts.wast b/tests/latch/static/core/const_121.asserts.wast similarity index 100% rename from tests/latch/core/const_121.asserts.wast rename to tests/latch/static/core/const_121.asserts.wast diff --git a/tests/latch/core/const_121.wast b/tests/latch/static/core/const_121.wast similarity index 100% rename from tests/latch/core/const_121.wast rename to tests/latch/static/core/const_121.wast diff --git a/tests/latch/core/const_122.asserts.wast b/tests/latch/static/core/const_122.asserts.wast similarity index 100% rename from tests/latch/core/const_122.asserts.wast rename to tests/latch/static/core/const_122.asserts.wast diff --git a/tests/latch/core/const_122.wast b/tests/latch/static/core/const_122.wast similarity index 100% rename from tests/latch/core/const_122.wast rename to tests/latch/static/core/const_122.wast diff --git a/tests/latch/core/const_123.asserts.wast b/tests/latch/static/core/const_123.asserts.wast similarity index 100% rename from tests/latch/core/const_123.asserts.wast rename to tests/latch/static/core/const_123.asserts.wast diff --git a/tests/latch/core/const_123.wast b/tests/latch/static/core/const_123.wast similarity index 100% rename from tests/latch/core/const_123.wast rename to tests/latch/static/core/const_123.wast diff --git a/tests/latch/core/const_124.asserts.wast b/tests/latch/static/core/const_124.asserts.wast similarity index 100% rename from tests/latch/core/const_124.asserts.wast rename to tests/latch/static/core/const_124.asserts.wast diff --git a/tests/latch/core/const_124.wast b/tests/latch/static/core/const_124.wast similarity index 100% rename from tests/latch/core/const_124.wast rename to tests/latch/static/core/const_124.wast diff --git a/tests/latch/core/const_125.asserts.wast b/tests/latch/static/core/const_125.asserts.wast similarity index 100% rename from tests/latch/core/const_125.asserts.wast rename to tests/latch/static/core/const_125.asserts.wast diff --git a/tests/latch/core/const_125.wast b/tests/latch/static/core/const_125.wast similarity index 100% rename from tests/latch/core/const_125.wast rename to tests/latch/static/core/const_125.wast diff --git a/tests/latch/core/const_126.asserts.wast b/tests/latch/static/core/const_126.asserts.wast similarity index 100% rename from tests/latch/core/const_126.asserts.wast rename to tests/latch/static/core/const_126.asserts.wast diff --git a/tests/latch/core/const_126.wast b/tests/latch/static/core/const_126.wast similarity index 100% rename from tests/latch/core/const_126.wast rename to tests/latch/static/core/const_126.wast diff --git a/tests/latch/core/const_127.asserts.wast b/tests/latch/static/core/const_127.asserts.wast similarity index 100% rename from tests/latch/core/const_127.asserts.wast rename to tests/latch/static/core/const_127.asserts.wast diff --git a/tests/latch/core/const_127.wast b/tests/latch/static/core/const_127.wast similarity index 100% rename from tests/latch/core/const_127.wast rename to tests/latch/static/core/const_127.wast diff --git a/tests/latch/core/const_128.asserts.wast b/tests/latch/static/core/const_128.asserts.wast similarity index 100% rename from tests/latch/core/const_128.asserts.wast rename to tests/latch/static/core/const_128.asserts.wast diff --git a/tests/latch/core/const_128.wast b/tests/latch/static/core/const_128.wast similarity index 100% rename from tests/latch/core/const_128.wast rename to tests/latch/static/core/const_128.wast diff --git a/tests/latch/core/const_129.asserts.wast b/tests/latch/static/core/const_129.asserts.wast similarity index 100% rename from tests/latch/core/const_129.asserts.wast rename to tests/latch/static/core/const_129.asserts.wast diff --git a/tests/latch/core/const_129.wast b/tests/latch/static/core/const_129.wast similarity index 100% rename from tests/latch/core/const_129.wast rename to tests/latch/static/core/const_129.wast diff --git a/tests/latch/core/const_130.asserts.wast b/tests/latch/static/core/const_130.asserts.wast similarity index 100% rename from tests/latch/core/const_130.asserts.wast rename to tests/latch/static/core/const_130.asserts.wast diff --git a/tests/latch/core/const_130.wast b/tests/latch/static/core/const_130.wast similarity index 100% rename from tests/latch/core/const_130.wast rename to tests/latch/static/core/const_130.wast diff --git a/tests/latch/core/const_131.asserts.wast b/tests/latch/static/core/const_131.asserts.wast similarity index 100% rename from tests/latch/core/const_131.asserts.wast rename to tests/latch/static/core/const_131.asserts.wast diff --git a/tests/latch/core/const_131.wast b/tests/latch/static/core/const_131.wast similarity index 100% rename from tests/latch/core/const_131.wast rename to tests/latch/static/core/const_131.wast diff --git a/tests/latch/core/const_132.asserts.wast b/tests/latch/static/core/const_132.asserts.wast similarity index 100% rename from tests/latch/core/const_132.asserts.wast rename to tests/latch/static/core/const_132.asserts.wast diff --git a/tests/latch/core/const_132.wast b/tests/latch/static/core/const_132.wast similarity index 100% rename from tests/latch/core/const_132.wast rename to tests/latch/static/core/const_132.wast diff --git a/tests/latch/core/const_133.asserts.wast b/tests/latch/static/core/const_133.asserts.wast similarity index 100% rename from tests/latch/core/const_133.asserts.wast rename to tests/latch/static/core/const_133.asserts.wast diff --git a/tests/latch/core/const_133.wast b/tests/latch/static/core/const_133.wast similarity index 100% rename from tests/latch/core/const_133.wast rename to tests/latch/static/core/const_133.wast diff --git a/tests/latch/core/const_134.asserts.wast b/tests/latch/static/core/const_134.asserts.wast similarity index 100% rename from tests/latch/core/const_134.asserts.wast rename to tests/latch/static/core/const_134.asserts.wast diff --git a/tests/latch/core/const_134.wast b/tests/latch/static/core/const_134.wast similarity index 100% rename from tests/latch/core/const_134.wast rename to tests/latch/static/core/const_134.wast diff --git a/tests/latch/core/const_135.asserts.wast b/tests/latch/static/core/const_135.asserts.wast similarity index 100% rename from tests/latch/core/const_135.asserts.wast rename to tests/latch/static/core/const_135.asserts.wast diff --git a/tests/latch/core/const_135.wast b/tests/latch/static/core/const_135.wast similarity index 100% rename from tests/latch/core/const_135.wast rename to tests/latch/static/core/const_135.wast diff --git a/tests/latch/core/const_136.asserts.wast b/tests/latch/static/core/const_136.asserts.wast similarity index 100% rename from tests/latch/core/const_136.asserts.wast rename to tests/latch/static/core/const_136.asserts.wast diff --git a/tests/latch/core/const_136.wast b/tests/latch/static/core/const_136.wast similarity index 100% rename from tests/latch/core/const_136.wast rename to tests/latch/static/core/const_136.wast diff --git a/tests/latch/core/const_137.asserts.wast b/tests/latch/static/core/const_137.asserts.wast similarity index 100% rename from tests/latch/core/const_137.asserts.wast rename to tests/latch/static/core/const_137.asserts.wast diff --git a/tests/latch/core/const_137.wast b/tests/latch/static/core/const_137.wast similarity index 100% rename from tests/latch/core/const_137.wast rename to tests/latch/static/core/const_137.wast diff --git a/tests/latch/core/const_138.asserts.wast b/tests/latch/static/core/const_138.asserts.wast similarity index 100% rename from tests/latch/core/const_138.asserts.wast rename to tests/latch/static/core/const_138.asserts.wast diff --git a/tests/latch/core/const_138.wast b/tests/latch/static/core/const_138.wast similarity index 100% rename from tests/latch/core/const_138.wast rename to tests/latch/static/core/const_138.wast diff --git a/tests/latch/core/const_139.asserts.wast b/tests/latch/static/core/const_139.asserts.wast similarity index 100% rename from tests/latch/core/const_139.asserts.wast rename to tests/latch/static/core/const_139.asserts.wast diff --git a/tests/latch/core/const_139.wast b/tests/latch/static/core/const_139.wast similarity index 100% rename from tests/latch/core/const_139.wast rename to tests/latch/static/core/const_139.wast diff --git a/tests/latch/core/const_140.asserts.wast b/tests/latch/static/core/const_140.asserts.wast similarity index 100% rename from tests/latch/core/const_140.asserts.wast rename to tests/latch/static/core/const_140.asserts.wast diff --git a/tests/latch/core/const_140.wast b/tests/latch/static/core/const_140.wast similarity index 100% rename from tests/latch/core/const_140.wast rename to tests/latch/static/core/const_140.wast diff --git a/tests/latch/core/const_141.asserts.wast b/tests/latch/static/core/const_141.asserts.wast similarity index 100% rename from tests/latch/core/const_141.asserts.wast rename to tests/latch/static/core/const_141.asserts.wast diff --git a/tests/latch/core/const_141.wast b/tests/latch/static/core/const_141.wast similarity index 100% rename from tests/latch/core/const_141.wast rename to tests/latch/static/core/const_141.wast diff --git a/tests/latch/core/const_142.asserts.wast b/tests/latch/static/core/const_142.asserts.wast similarity index 100% rename from tests/latch/core/const_142.asserts.wast rename to tests/latch/static/core/const_142.asserts.wast diff --git a/tests/latch/core/const_142.wast b/tests/latch/static/core/const_142.wast similarity index 100% rename from tests/latch/core/const_142.wast rename to tests/latch/static/core/const_142.wast diff --git a/tests/latch/core/const_143.asserts.wast b/tests/latch/static/core/const_143.asserts.wast similarity index 100% rename from tests/latch/core/const_143.asserts.wast rename to tests/latch/static/core/const_143.asserts.wast diff --git a/tests/latch/core/const_143.wast b/tests/latch/static/core/const_143.wast similarity index 100% rename from tests/latch/core/const_143.wast rename to tests/latch/static/core/const_143.wast diff --git a/tests/latch/core/const_144.asserts.wast b/tests/latch/static/core/const_144.asserts.wast similarity index 100% rename from tests/latch/core/const_144.asserts.wast rename to tests/latch/static/core/const_144.asserts.wast diff --git a/tests/latch/core/const_144.wast b/tests/latch/static/core/const_144.wast similarity index 100% rename from tests/latch/core/const_144.wast rename to tests/latch/static/core/const_144.wast diff --git a/tests/latch/core/const_145.asserts.wast b/tests/latch/static/core/const_145.asserts.wast similarity index 100% rename from tests/latch/core/const_145.asserts.wast rename to tests/latch/static/core/const_145.asserts.wast diff --git a/tests/latch/core/const_145.wast b/tests/latch/static/core/const_145.wast similarity index 100% rename from tests/latch/core/const_145.wast rename to tests/latch/static/core/const_145.wast diff --git a/tests/latch/core/const_146.asserts.wast b/tests/latch/static/core/const_146.asserts.wast similarity index 100% rename from tests/latch/core/const_146.asserts.wast rename to tests/latch/static/core/const_146.asserts.wast diff --git a/tests/latch/core/const_146.wast b/tests/latch/static/core/const_146.wast similarity index 100% rename from tests/latch/core/const_146.wast rename to tests/latch/static/core/const_146.wast diff --git a/tests/latch/core/const_147.asserts.wast b/tests/latch/static/core/const_147.asserts.wast similarity index 100% rename from tests/latch/core/const_147.asserts.wast rename to tests/latch/static/core/const_147.asserts.wast diff --git a/tests/latch/core/const_147.wast b/tests/latch/static/core/const_147.wast similarity index 100% rename from tests/latch/core/const_147.wast rename to tests/latch/static/core/const_147.wast diff --git a/tests/latch/core/const_148.asserts.wast b/tests/latch/static/core/const_148.asserts.wast similarity index 100% rename from tests/latch/core/const_148.asserts.wast rename to tests/latch/static/core/const_148.asserts.wast diff --git a/tests/latch/core/const_148.wast b/tests/latch/static/core/const_148.wast similarity index 100% rename from tests/latch/core/const_148.wast rename to tests/latch/static/core/const_148.wast diff --git a/tests/latch/core/const_149.asserts.wast b/tests/latch/static/core/const_149.asserts.wast similarity index 100% rename from tests/latch/core/const_149.asserts.wast rename to tests/latch/static/core/const_149.asserts.wast diff --git a/tests/latch/core/const_149.wast b/tests/latch/static/core/const_149.wast similarity index 100% rename from tests/latch/core/const_149.wast rename to tests/latch/static/core/const_149.wast diff --git a/tests/latch/core/const_150.asserts.wast b/tests/latch/static/core/const_150.asserts.wast similarity index 100% rename from tests/latch/core/const_150.asserts.wast rename to tests/latch/static/core/const_150.asserts.wast diff --git a/tests/latch/core/const_150.wast b/tests/latch/static/core/const_150.wast similarity index 100% rename from tests/latch/core/const_150.wast rename to tests/latch/static/core/const_150.wast diff --git a/tests/latch/core/const_151.asserts.wast b/tests/latch/static/core/const_151.asserts.wast similarity index 100% rename from tests/latch/core/const_151.asserts.wast rename to tests/latch/static/core/const_151.asserts.wast diff --git a/tests/latch/core/const_151.wast b/tests/latch/static/core/const_151.wast similarity index 100% rename from tests/latch/core/const_151.wast rename to tests/latch/static/core/const_151.wast diff --git a/tests/latch/core/const_152.asserts.wast b/tests/latch/static/core/const_152.asserts.wast similarity index 100% rename from tests/latch/core/const_152.asserts.wast rename to tests/latch/static/core/const_152.asserts.wast diff --git a/tests/latch/core/const_152.wast b/tests/latch/static/core/const_152.wast similarity index 100% rename from tests/latch/core/const_152.wast rename to tests/latch/static/core/const_152.wast diff --git a/tests/latch/core/const_153.asserts.wast b/tests/latch/static/core/const_153.asserts.wast similarity index 100% rename from tests/latch/core/const_153.asserts.wast rename to tests/latch/static/core/const_153.asserts.wast diff --git a/tests/latch/core/const_153.wast b/tests/latch/static/core/const_153.wast similarity index 100% rename from tests/latch/core/const_153.wast rename to tests/latch/static/core/const_153.wast diff --git a/tests/latch/core/const_154.asserts.wast b/tests/latch/static/core/const_154.asserts.wast similarity index 100% rename from tests/latch/core/const_154.asserts.wast rename to tests/latch/static/core/const_154.asserts.wast diff --git a/tests/latch/core/const_154.wast b/tests/latch/static/core/const_154.wast similarity index 100% rename from tests/latch/core/const_154.wast rename to tests/latch/static/core/const_154.wast diff --git a/tests/latch/core/const_155.asserts.wast b/tests/latch/static/core/const_155.asserts.wast similarity index 100% rename from tests/latch/core/const_155.asserts.wast rename to tests/latch/static/core/const_155.asserts.wast diff --git a/tests/latch/core/const_155.wast b/tests/latch/static/core/const_155.wast similarity index 100% rename from tests/latch/core/const_155.wast rename to tests/latch/static/core/const_155.wast diff --git a/tests/latch/core/const_156.asserts.wast b/tests/latch/static/core/const_156.asserts.wast similarity index 100% rename from tests/latch/core/const_156.asserts.wast rename to tests/latch/static/core/const_156.asserts.wast diff --git a/tests/latch/core/const_156.wast b/tests/latch/static/core/const_156.wast similarity index 100% rename from tests/latch/core/const_156.wast rename to tests/latch/static/core/const_156.wast diff --git a/tests/latch/core/const_157.asserts.wast b/tests/latch/static/core/const_157.asserts.wast similarity index 100% rename from tests/latch/core/const_157.asserts.wast rename to tests/latch/static/core/const_157.asserts.wast diff --git a/tests/latch/core/const_157.wast b/tests/latch/static/core/const_157.wast similarity index 100% rename from tests/latch/core/const_157.wast rename to tests/latch/static/core/const_157.wast diff --git a/tests/latch/core/const_158.asserts.wast b/tests/latch/static/core/const_158.asserts.wast similarity index 100% rename from tests/latch/core/const_158.asserts.wast rename to tests/latch/static/core/const_158.asserts.wast diff --git a/tests/latch/core/const_158.wast b/tests/latch/static/core/const_158.wast similarity index 100% rename from tests/latch/core/const_158.wast rename to tests/latch/static/core/const_158.wast diff --git a/tests/latch/core/const_159.asserts.wast b/tests/latch/static/core/const_159.asserts.wast similarity index 100% rename from tests/latch/core/const_159.asserts.wast rename to tests/latch/static/core/const_159.asserts.wast diff --git a/tests/latch/core/const_159.wast b/tests/latch/static/core/const_159.wast similarity index 100% rename from tests/latch/core/const_159.wast rename to tests/latch/static/core/const_159.wast diff --git a/tests/latch/core/const_160.asserts.wast b/tests/latch/static/core/const_160.asserts.wast similarity index 100% rename from tests/latch/core/const_160.asserts.wast rename to tests/latch/static/core/const_160.asserts.wast diff --git a/tests/latch/core/const_160.wast b/tests/latch/static/core/const_160.wast similarity index 100% rename from tests/latch/core/const_160.wast rename to tests/latch/static/core/const_160.wast diff --git a/tests/latch/core/const_161.asserts.wast b/tests/latch/static/core/const_161.asserts.wast similarity index 100% rename from tests/latch/core/const_161.asserts.wast rename to tests/latch/static/core/const_161.asserts.wast diff --git a/tests/latch/core/const_161.wast b/tests/latch/static/core/const_161.wast similarity index 100% rename from tests/latch/core/const_161.wast rename to tests/latch/static/core/const_161.wast diff --git a/tests/latch/core/const_162.asserts.wast b/tests/latch/static/core/const_162.asserts.wast similarity index 100% rename from tests/latch/core/const_162.asserts.wast rename to tests/latch/static/core/const_162.asserts.wast diff --git a/tests/latch/core/const_162.wast b/tests/latch/static/core/const_162.wast similarity index 100% rename from tests/latch/core/const_162.wast rename to tests/latch/static/core/const_162.wast diff --git a/tests/latch/core/const_163.asserts.wast b/tests/latch/static/core/const_163.asserts.wast similarity index 100% rename from tests/latch/core/const_163.asserts.wast rename to tests/latch/static/core/const_163.asserts.wast diff --git a/tests/latch/core/const_163.wast b/tests/latch/static/core/const_163.wast similarity index 100% rename from tests/latch/core/const_163.wast rename to tests/latch/static/core/const_163.wast diff --git a/tests/latch/core/const_164.asserts.wast b/tests/latch/static/core/const_164.asserts.wast similarity index 100% rename from tests/latch/core/const_164.asserts.wast rename to tests/latch/static/core/const_164.asserts.wast diff --git a/tests/latch/core/const_164.wast b/tests/latch/static/core/const_164.wast similarity index 100% rename from tests/latch/core/const_164.wast rename to tests/latch/static/core/const_164.wast diff --git a/tests/latch/core/const_165.asserts.wast b/tests/latch/static/core/const_165.asserts.wast similarity index 100% rename from tests/latch/core/const_165.asserts.wast rename to tests/latch/static/core/const_165.asserts.wast diff --git a/tests/latch/core/const_165.wast b/tests/latch/static/core/const_165.wast similarity index 100% rename from tests/latch/core/const_165.wast rename to tests/latch/static/core/const_165.wast diff --git a/tests/latch/core/const_166.asserts.wast b/tests/latch/static/core/const_166.asserts.wast similarity index 100% rename from tests/latch/core/const_166.asserts.wast rename to tests/latch/static/core/const_166.asserts.wast diff --git a/tests/latch/core/const_166.wast b/tests/latch/static/core/const_166.wast similarity index 100% rename from tests/latch/core/const_166.wast rename to tests/latch/static/core/const_166.wast diff --git a/tests/latch/core/const_167.asserts.wast b/tests/latch/static/core/const_167.asserts.wast similarity index 100% rename from tests/latch/core/const_167.asserts.wast rename to tests/latch/static/core/const_167.asserts.wast diff --git a/tests/latch/core/const_167.wast b/tests/latch/static/core/const_167.wast similarity index 100% rename from tests/latch/core/const_167.wast rename to tests/latch/static/core/const_167.wast diff --git a/tests/latch/core/const_168.asserts.wast b/tests/latch/static/core/const_168.asserts.wast similarity index 100% rename from tests/latch/core/const_168.asserts.wast rename to tests/latch/static/core/const_168.asserts.wast diff --git a/tests/latch/core/const_168.wast b/tests/latch/static/core/const_168.wast similarity index 100% rename from tests/latch/core/const_168.wast rename to tests/latch/static/core/const_168.wast diff --git a/tests/latch/core/const_169.asserts.wast b/tests/latch/static/core/const_169.asserts.wast similarity index 100% rename from tests/latch/core/const_169.asserts.wast rename to tests/latch/static/core/const_169.asserts.wast diff --git a/tests/latch/core/const_169.wast b/tests/latch/static/core/const_169.wast similarity index 100% rename from tests/latch/core/const_169.wast rename to tests/latch/static/core/const_169.wast diff --git a/tests/latch/core/const_170.asserts.wast b/tests/latch/static/core/const_170.asserts.wast similarity index 100% rename from tests/latch/core/const_170.asserts.wast rename to tests/latch/static/core/const_170.asserts.wast diff --git a/tests/latch/core/const_170.wast b/tests/latch/static/core/const_170.wast similarity index 100% rename from tests/latch/core/const_170.wast rename to tests/latch/static/core/const_170.wast diff --git a/tests/latch/core/const_171.asserts.wast b/tests/latch/static/core/const_171.asserts.wast similarity index 100% rename from tests/latch/core/const_171.asserts.wast rename to tests/latch/static/core/const_171.asserts.wast diff --git a/tests/latch/core/const_171.wast b/tests/latch/static/core/const_171.wast similarity index 100% rename from tests/latch/core/const_171.wast rename to tests/latch/static/core/const_171.wast diff --git a/tests/latch/core/const_172.asserts.wast b/tests/latch/static/core/const_172.asserts.wast similarity index 100% rename from tests/latch/core/const_172.asserts.wast rename to tests/latch/static/core/const_172.asserts.wast diff --git a/tests/latch/core/const_172.wast b/tests/latch/static/core/const_172.wast similarity index 100% rename from tests/latch/core/const_172.wast rename to tests/latch/static/core/const_172.wast diff --git a/tests/latch/core/const_173.asserts.wast b/tests/latch/static/core/const_173.asserts.wast similarity index 100% rename from tests/latch/core/const_173.asserts.wast rename to tests/latch/static/core/const_173.asserts.wast diff --git a/tests/latch/core/const_173.wast b/tests/latch/static/core/const_173.wast similarity index 100% rename from tests/latch/core/const_173.wast rename to tests/latch/static/core/const_173.wast diff --git a/tests/latch/core/const_174.asserts.wast b/tests/latch/static/core/const_174.asserts.wast similarity index 100% rename from tests/latch/core/const_174.asserts.wast rename to tests/latch/static/core/const_174.asserts.wast diff --git a/tests/latch/core/const_174.wast b/tests/latch/static/core/const_174.wast similarity index 100% rename from tests/latch/core/const_174.wast rename to tests/latch/static/core/const_174.wast diff --git a/tests/latch/core/const_175.asserts.wast b/tests/latch/static/core/const_175.asserts.wast similarity index 100% rename from tests/latch/core/const_175.asserts.wast rename to tests/latch/static/core/const_175.asserts.wast diff --git a/tests/latch/core/const_175.wast b/tests/latch/static/core/const_175.wast similarity index 100% rename from tests/latch/core/const_175.wast rename to tests/latch/static/core/const_175.wast diff --git a/tests/latch/core/const_176.asserts.wast b/tests/latch/static/core/const_176.asserts.wast similarity index 100% rename from tests/latch/core/const_176.asserts.wast rename to tests/latch/static/core/const_176.asserts.wast diff --git a/tests/latch/core/const_176.wast b/tests/latch/static/core/const_176.wast similarity index 100% rename from tests/latch/core/const_176.wast rename to tests/latch/static/core/const_176.wast diff --git a/tests/latch/core/const_177.asserts.wast b/tests/latch/static/core/const_177.asserts.wast similarity index 100% rename from tests/latch/core/const_177.asserts.wast rename to tests/latch/static/core/const_177.asserts.wast diff --git a/tests/latch/core/const_177.wast b/tests/latch/static/core/const_177.wast similarity index 100% rename from tests/latch/core/const_177.wast rename to tests/latch/static/core/const_177.wast diff --git a/tests/latch/core/const_178.asserts.wast b/tests/latch/static/core/const_178.asserts.wast similarity index 100% rename from tests/latch/core/const_178.asserts.wast rename to tests/latch/static/core/const_178.asserts.wast diff --git a/tests/latch/core/const_178.wast b/tests/latch/static/core/const_178.wast similarity index 100% rename from tests/latch/core/const_178.wast rename to tests/latch/static/core/const_178.wast diff --git a/tests/latch/core/const_179.asserts.wast b/tests/latch/static/core/const_179.asserts.wast similarity index 100% rename from tests/latch/core/const_179.asserts.wast rename to tests/latch/static/core/const_179.asserts.wast diff --git a/tests/latch/core/const_179.wast b/tests/latch/static/core/const_179.wast similarity index 100% rename from tests/latch/core/const_179.wast rename to tests/latch/static/core/const_179.wast diff --git a/tests/latch/core/const_180.asserts.wast b/tests/latch/static/core/const_180.asserts.wast similarity index 100% rename from tests/latch/core/const_180.asserts.wast rename to tests/latch/static/core/const_180.asserts.wast diff --git a/tests/latch/core/const_180.wast b/tests/latch/static/core/const_180.wast similarity index 100% rename from tests/latch/core/const_180.wast rename to tests/latch/static/core/const_180.wast diff --git a/tests/latch/core/const_181.asserts.wast b/tests/latch/static/core/const_181.asserts.wast similarity index 100% rename from tests/latch/core/const_181.asserts.wast rename to tests/latch/static/core/const_181.asserts.wast diff --git a/tests/latch/core/const_181.wast b/tests/latch/static/core/const_181.wast similarity index 100% rename from tests/latch/core/const_181.wast rename to tests/latch/static/core/const_181.wast diff --git a/tests/latch/core/const_182.asserts.wast b/tests/latch/static/core/const_182.asserts.wast similarity index 100% rename from tests/latch/core/const_182.asserts.wast rename to tests/latch/static/core/const_182.asserts.wast diff --git a/tests/latch/core/const_182.wast b/tests/latch/static/core/const_182.wast similarity index 100% rename from tests/latch/core/const_182.wast rename to tests/latch/static/core/const_182.wast diff --git a/tests/latch/core/const_183.asserts.wast b/tests/latch/static/core/const_183.asserts.wast similarity index 100% rename from tests/latch/core/const_183.asserts.wast rename to tests/latch/static/core/const_183.asserts.wast diff --git a/tests/latch/core/const_183.wast b/tests/latch/static/core/const_183.wast similarity index 100% rename from tests/latch/core/const_183.wast rename to tests/latch/static/core/const_183.wast diff --git a/tests/latch/core/const_184.asserts.wast b/tests/latch/static/core/const_184.asserts.wast similarity index 100% rename from tests/latch/core/const_184.asserts.wast rename to tests/latch/static/core/const_184.asserts.wast diff --git a/tests/latch/core/const_184.wast b/tests/latch/static/core/const_184.wast similarity index 100% rename from tests/latch/core/const_184.wast rename to tests/latch/static/core/const_184.wast diff --git a/tests/latch/core/const_185.asserts.wast b/tests/latch/static/core/const_185.asserts.wast similarity index 100% rename from tests/latch/core/const_185.asserts.wast rename to tests/latch/static/core/const_185.asserts.wast diff --git a/tests/latch/core/const_185.wast b/tests/latch/static/core/const_185.wast similarity index 100% rename from tests/latch/core/const_185.wast rename to tests/latch/static/core/const_185.wast diff --git a/tests/latch/core/const_186.asserts.wast b/tests/latch/static/core/const_186.asserts.wast similarity index 100% rename from tests/latch/core/const_186.asserts.wast rename to tests/latch/static/core/const_186.asserts.wast diff --git a/tests/latch/core/const_186.wast b/tests/latch/static/core/const_186.wast similarity index 100% rename from tests/latch/core/const_186.wast rename to tests/latch/static/core/const_186.wast diff --git a/tests/latch/core/const_187.asserts.wast b/tests/latch/static/core/const_187.asserts.wast similarity index 100% rename from tests/latch/core/const_187.asserts.wast rename to tests/latch/static/core/const_187.asserts.wast diff --git a/tests/latch/core/const_187.wast b/tests/latch/static/core/const_187.wast similarity index 100% rename from tests/latch/core/const_187.wast rename to tests/latch/static/core/const_187.wast diff --git a/tests/latch/core/const_188.asserts.wast b/tests/latch/static/core/const_188.asserts.wast similarity index 100% rename from tests/latch/core/const_188.asserts.wast rename to tests/latch/static/core/const_188.asserts.wast diff --git a/tests/latch/core/const_188.wast b/tests/latch/static/core/const_188.wast similarity index 100% rename from tests/latch/core/const_188.wast rename to tests/latch/static/core/const_188.wast diff --git a/tests/latch/core/const_189.asserts.wast b/tests/latch/static/core/const_189.asserts.wast similarity index 100% rename from tests/latch/core/const_189.asserts.wast rename to tests/latch/static/core/const_189.asserts.wast diff --git a/tests/latch/core/const_189.wast b/tests/latch/static/core/const_189.wast similarity index 100% rename from tests/latch/core/const_189.wast rename to tests/latch/static/core/const_189.wast diff --git a/tests/latch/core/const_190.asserts.wast b/tests/latch/static/core/const_190.asserts.wast similarity index 100% rename from tests/latch/core/const_190.asserts.wast rename to tests/latch/static/core/const_190.asserts.wast diff --git a/tests/latch/core/const_190.wast b/tests/latch/static/core/const_190.wast similarity index 100% rename from tests/latch/core/const_190.wast rename to tests/latch/static/core/const_190.wast diff --git a/tests/latch/core/const_191.asserts.wast b/tests/latch/static/core/const_191.asserts.wast similarity index 100% rename from tests/latch/core/const_191.asserts.wast rename to tests/latch/static/core/const_191.asserts.wast diff --git a/tests/latch/core/const_191.wast b/tests/latch/static/core/const_191.wast similarity index 100% rename from tests/latch/core/const_191.wast rename to tests/latch/static/core/const_191.wast diff --git a/tests/latch/core/const_192.asserts.wast b/tests/latch/static/core/const_192.asserts.wast similarity index 100% rename from tests/latch/core/const_192.asserts.wast rename to tests/latch/static/core/const_192.asserts.wast diff --git a/tests/latch/core/const_192.wast b/tests/latch/static/core/const_192.wast similarity index 100% rename from tests/latch/core/const_192.wast rename to tests/latch/static/core/const_192.wast diff --git a/tests/latch/core/const_193.asserts.wast b/tests/latch/static/core/const_193.asserts.wast similarity index 100% rename from tests/latch/core/const_193.asserts.wast rename to tests/latch/static/core/const_193.asserts.wast diff --git a/tests/latch/core/const_193.wast b/tests/latch/static/core/const_193.wast similarity index 100% rename from tests/latch/core/const_193.wast rename to tests/latch/static/core/const_193.wast diff --git a/tests/latch/core/const_194.asserts.wast b/tests/latch/static/core/const_194.asserts.wast similarity index 100% rename from tests/latch/core/const_194.asserts.wast rename to tests/latch/static/core/const_194.asserts.wast diff --git a/tests/latch/core/const_194.wast b/tests/latch/static/core/const_194.wast similarity index 100% rename from tests/latch/core/const_194.wast rename to tests/latch/static/core/const_194.wast diff --git a/tests/latch/core/const_195.asserts.wast b/tests/latch/static/core/const_195.asserts.wast similarity index 100% rename from tests/latch/core/const_195.asserts.wast rename to tests/latch/static/core/const_195.asserts.wast diff --git a/tests/latch/core/const_195.wast b/tests/latch/static/core/const_195.wast similarity index 100% rename from tests/latch/core/const_195.wast rename to tests/latch/static/core/const_195.wast diff --git a/tests/latch/core/const_196.asserts.wast b/tests/latch/static/core/const_196.asserts.wast similarity index 100% rename from tests/latch/core/const_196.asserts.wast rename to tests/latch/static/core/const_196.asserts.wast diff --git a/tests/latch/core/const_196.wast b/tests/latch/static/core/const_196.wast similarity index 100% rename from tests/latch/core/const_196.wast rename to tests/latch/static/core/const_196.wast diff --git a/tests/latch/core/const_197.asserts.wast b/tests/latch/static/core/const_197.asserts.wast similarity index 100% rename from tests/latch/core/const_197.asserts.wast rename to tests/latch/static/core/const_197.asserts.wast diff --git a/tests/latch/core/const_197.wast b/tests/latch/static/core/const_197.wast similarity index 100% rename from tests/latch/core/const_197.wast rename to tests/latch/static/core/const_197.wast diff --git a/tests/latch/core/const_198.asserts.wast b/tests/latch/static/core/const_198.asserts.wast similarity index 100% rename from tests/latch/core/const_198.asserts.wast rename to tests/latch/static/core/const_198.asserts.wast diff --git a/tests/latch/core/const_198.wast b/tests/latch/static/core/const_198.wast similarity index 100% rename from tests/latch/core/const_198.wast rename to tests/latch/static/core/const_198.wast diff --git a/tests/latch/core/const_199.asserts.wast b/tests/latch/static/core/const_199.asserts.wast similarity index 100% rename from tests/latch/core/const_199.asserts.wast rename to tests/latch/static/core/const_199.asserts.wast diff --git a/tests/latch/core/const_199.wast b/tests/latch/static/core/const_199.wast similarity index 100% rename from tests/latch/core/const_199.wast rename to tests/latch/static/core/const_199.wast diff --git a/tests/latch/core/endianness_0.asserts.wast b/tests/latch/static/core/endianness_0.asserts.wast similarity index 100% rename from tests/latch/core/endianness_0.asserts.wast rename to tests/latch/static/core/endianness_0.asserts.wast diff --git a/tests/latch/core/endianness_0.wast b/tests/latch/static/core/endianness_0.wast similarity index 100% rename from tests/latch/core/endianness_0.wast rename to tests/latch/static/core/endianness_0.wast diff --git a/tests/latch/core/f32_0.asserts.wast b/tests/latch/static/core/f32_0.asserts.wast similarity index 100% rename from tests/latch/core/f32_0.asserts.wast rename to tests/latch/static/core/f32_0.asserts.wast diff --git a/tests/latch/core/f32_0.wast b/tests/latch/static/core/f32_0.wast similarity index 100% rename from tests/latch/core/f32_0.wast rename to tests/latch/static/core/f32_0.wast diff --git a/tests/latch/core/f32_bitwise_0.asserts.wast b/tests/latch/static/core/f32_bitwise_0.asserts.wast similarity index 100% rename from tests/latch/core/f32_bitwise_0.asserts.wast rename to tests/latch/static/core/f32_bitwise_0.asserts.wast diff --git a/tests/latch/core/f32_bitwise_0.wast b/tests/latch/static/core/f32_bitwise_0.wast similarity index 100% rename from tests/latch/core/f32_bitwise_0.wast rename to tests/latch/static/core/f32_bitwise_0.wast diff --git a/tests/latch/core/f32_cmp_0.asserts.wast b/tests/latch/static/core/f32_cmp_0.asserts.wast similarity index 100% rename from tests/latch/core/f32_cmp_0.asserts.wast rename to tests/latch/static/core/f32_cmp_0.asserts.wast diff --git a/tests/latch/core/f32_cmp_0.wast b/tests/latch/static/core/f32_cmp_0.wast similarity index 100% rename from tests/latch/core/f32_cmp_0.wast rename to tests/latch/static/core/f32_cmp_0.wast diff --git a/tests/latch/core/f64.asserts.wast b/tests/latch/static/core/f64.asserts.wast similarity index 100% rename from tests/latch/core/f64.asserts.wast rename to tests/latch/static/core/f64.asserts.wast diff --git a/tests/latch/core/f64.wast b/tests/latch/static/core/f64.wast similarity index 100% rename from tests/latch/core/f64.wast rename to tests/latch/static/core/f64.wast diff --git a/tests/latch/core/f64_bitwise.asserts.wast b/tests/latch/static/core/f64_bitwise.asserts.wast similarity index 100% rename from tests/latch/core/f64_bitwise.asserts.wast rename to tests/latch/static/core/f64_bitwise.asserts.wast diff --git a/tests/latch/core/f64_bitwise.wast b/tests/latch/static/core/f64_bitwise.wast similarity index 100% rename from tests/latch/core/f64_bitwise.wast rename to tests/latch/static/core/f64_bitwise.wast diff --git a/tests/latch/core/f64_cmp.asserts.wast b/tests/latch/static/core/f64_cmp.asserts.wast similarity index 100% rename from tests/latch/core/f64_cmp.asserts.wast rename to tests/latch/static/core/f64_cmp.asserts.wast diff --git a/tests/latch/core/f64_cmp.wast b/tests/latch/static/core/f64_cmp.wast similarity index 100% rename from tests/latch/core/f64_cmp.wast rename to tests/latch/static/core/f64_cmp.wast diff --git a/tests/latch/core/float_exprs_45.asserts.wast b/tests/latch/static/core/float_exprs_45.asserts.wast similarity index 100% rename from tests/latch/core/float_exprs_45.asserts.wast rename to tests/latch/static/core/float_exprs_45.asserts.wast diff --git a/tests/latch/core/float_exprs_45.wast b/tests/latch/static/core/float_exprs_45.wast similarity index 100% rename from tests/latch/core/float_exprs_45.wast rename to tests/latch/static/core/float_exprs_45.wast diff --git a/tests/latch/core/float_exprs_46.asserts.wast b/tests/latch/static/core/float_exprs_46.asserts.wast similarity index 100% rename from tests/latch/core/float_exprs_46.asserts.wast rename to tests/latch/static/core/float_exprs_46.asserts.wast diff --git a/tests/latch/core/float_exprs_46.wast b/tests/latch/static/core/float_exprs_46.wast similarity index 100% rename from tests/latch/core/float_exprs_46.wast rename to tests/latch/static/core/float_exprs_46.wast diff --git a/tests/latch/core/float_exprs_63.asserts.wast b/tests/latch/static/core/float_exprs_63.asserts.wast similarity index 100% rename from tests/latch/core/float_exprs_63.asserts.wast rename to tests/latch/static/core/float_exprs_63.asserts.wast diff --git a/tests/latch/core/float_exprs_63.wast b/tests/latch/static/core/float_exprs_63.wast similarity index 100% rename from tests/latch/core/float_exprs_63.wast rename to tests/latch/static/core/float_exprs_63.wast diff --git a/tests/latch/core/float_exprs_64.asserts.wast b/tests/latch/static/core/float_exprs_64.asserts.wast similarity index 100% rename from tests/latch/core/float_exprs_64.asserts.wast rename to tests/latch/static/core/float_exprs_64.asserts.wast diff --git a/tests/latch/core/float_exprs_64.wast b/tests/latch/static/core/float_exprs_64.wast similarity index 100% rename from tests/latch/core/float_exprs_64.wast rename to tests/latch/static/core/float_exprs_64.wast diff --git a/tests/latch/core/float_exprs_65.asserts.wast b/tests/latch/static/core/float_exprs_65.asserts.wast similarity index 100% rename from tests/latch/core/float_exprs_65.asserts.wast rename to tests/latch/static/core/float_exprs_65.asserts.wast diff --git a/tests/latch/core/float_exprs_65.wast b/tests/latch/static/core/float_exprs_65.wast similarity index 100% rename from tests/latch/core/float_exprs_65.wast rename to tests/latch/static/core/float_exprs_65.wast diff --git a/tests/latch/core/float_exprs_89.asserts.wast b/tests/latch/static/core/float_exprs_89.asserts.wast similarity index 100% rename from tests/latch/core/float_exprs_89.asserts.wast rename to tests/latch/static/core/float_exprs_89.asserts.wast diff --git a/tests/latch/core/float_exprs_89.wast b/tests/latch/static/core/float_exprs_89.wast similarity index 100% rename from tests/latch/core/float_exprs_89.wast rename to tests/latch/static/core/float_exprs_89.wast diff --git a/tests/latch/core/float_exprs_93.asserts.wast b/tests/latch/static/core/float_exprs_93.asserts.wast similarity index 100% rename from tests/latch/core/float_exprs_93.asserts.wast rename to tests/latch/static/core/float_exprs_93.asserts.wast diff --git a/tests/latch/core/float_exprs_93.wast b/tests/latch/static/core/float_exprs_93.wast similarity index 100% rename from tests/latch/core/float_exprs_93.wast rename to tests/latch/static/core/float_exprs_93.wast diff --git a/tests/latch/core/forward_0.asserts.wast b/tests/latch/static/core/forward_0.asserts.wast similarity index 100% rename from tests/latch/core/forward_0.asserts.wast rename to tests/latch/static/core/forward_0.asserts.wast diff --git a/tests/latch/core/forward_0.wast b/tests/latch/static/core/forward_0.wast similarity index 100% rename from tests/latch/core/forward_0.wast rename to tests/latch/static/core/forward_0.wast diff --git a/tests/latch/core/func_0.asserts.wast b/tests/latch/static/core/func_0.asserts.wast similarity index 100% rename from tests/latch/core/func_0.asserts.wast rename to tests/latch/static/core/func_0.asserts.wast diff --git a/tests/latch/core/func_0.wast b/tests/latch/static/core/func_0.wast similarity index 100% rename from tests/latch/core/func_0.wast rename to tests/latch/static/core/func_0.wast diff --git a/tests/latch/core/func_2.asserts.wast b/tests/latch/static/core/func_2.asserts.wast similarity index 100% rename from tests/latch/core/func_2.asserts.wast rename to tests/latch/static/core/func_2.asserts.wast diff --git a/tests/latch/core/func_2.wast b/tests/latch/static/core/func_2.wast similarity index 100% rename from tests/latch/core/func_2.wast rename to tests/latch/static/core/func_2.wast diff --git a/tests/latch/core/func_3.asserts.wast b/tests/latch/static/core/func_3.asserts.wast similarity index 100% rename from tests/latch/core/func_3.asserts.wast rename to tests/latch/static/core/func_3.asserts.wast diff --git a/tests/latch/core/func_3.wast b/tests/latch/static/core/func_3.wast similarity index 100% rename from tests/latch/core/func_3.wast rename to tests/latch/static/core/func_3.wast diff --git a/tests/latch/core/func_ptrs_0.asserts.wast b/tests/latch/static/core/func_ptrs_0.asserts.wast similarity index 100% rename from tests/latch/core/func_ptrs_0.asserts.wast rename to tests/latch/static/core/func_ptrs_0.asserts.wast diff --git a/tests/latch/core/func_ptrs_0.wast b/tests/latch/static/core/func_ptrs_0.wast similarity index 100% rename from tests/latch/core/func_ptrs_0.wast rename to tests/latch/static/core/func_ptrs_0.wast diff --git a/tests/latch/core/func_ptrs_1.asserts.wast b/tests/latch/static/core/func_ptrs_1.asserts.wast similarity index 100% rename from tests/latch/core/func_ptrs_1.asserts.wast rename to tests/latch/static/core/func_ptrs_1.asserts.wast diff --git a/tests/latch/core/func_ptrs_1.wast b/tests/latch/static/core/func_ptrs_1.wast similarity index 100% rename from tests/latch/core/func_ptrs_1.wast rename to tests/latch/static/core/func_ptrs_1.wast diff --git a/tests/latch/core/func_ptrs_2.asserts.wast b/tests/latch/static/core/func_ptrs_2.asserts.wast similarity index 100% rename from tests/latch/core/func_ptrs_2.asserts.wast rename to tests/latch/static/core/func_ptrs_2.asserts.wast diff --git a/tests/latch/core/func_ptrs_2.wast b/tests/latch/static/core/func_ptrs_2.wast similarity index 100% rename from tests/latch/core/func_ptrs_2.wast rename to tests/latch/static/core/func_ptrs_2.wast diff --git a/tests/latch/core/global.asserts.wast b/tests/latch/static/core/global.asserts.wast similarity index 100% rename from tests/latch/core/global.asserts.wast rename to tests/latch/static/core/global.asserts.wast diff --git a/tests/latch/core/global.wast b/tests/latch/static/core/global.wast similarity index 100% rename from tests/latch/core/global.wast rename to tests/latch/static/core/global.wast diff --git a/tests/latch/core/i32_0.asserts.wast b/tests/latch/static/core/i32_0.asserts.wast similarity index 100% rename from tests/latch/core/i32_0.asserts.wast rename to tests/latch/static/core/i32_0.asserts.wast diff --git a/tests/latch/core/i32_0.wast b/tests/latch/static/core/i32_0.wast similarity index 100% rename from tests/latch/core/i32_0.wast rename to tests/latch/static/core/i32_0.wast diff --git a/tests/latch/core/i64_0.asserts.wast b/tests/latch/static/core/i64_0.asserts.wast similarity index 100% rename from tests/latch/core/i64_0.asserts.wast rename to tests/latch/static/core/i64_0.asserts.wast diff --git a/tests/latch/core/i64_0.wast b/tests/latch/static/core/i64_0.wast similarity index 100% rename from tests/latch/core/i64_0.wast rename to tests/latch/static/core/i64_0.wast diff --git a/tests/latch/core/int_exprs_10.asserts.wast b/tests/latch/static/core/int_exprs_10.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_10.asserts.wast rename to tests/latch/static/core/int_exprs_10.asserts.wast diff --git a/tests/latch/core/int_exprs_10.wast b/tests/latch/static/core/int_exprs_10.wast similarity index 100% rename from tests/latch/core/int_exprs_10.wast rename to tests/latch/static/core/int_exprs_10.wast diff --git a/tests/latch/core/int_exprs_15.asserts.wast b/tests/latch/static/core/int_exprs_15.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_15.asserts.wast rename to tests/latch/static/core/int_exprs_15.asserts.wast diff --git a/tests/latch/core/int_exprs_15.wast b/tests/latch/static/core/int_exprs_15.wast similarity index 100% rename from tests/latch/core/int_exprs_15.wast rename to tests/latch/static/core/int_exprs_15.wast diff --git a/tests/latch/core/int_exprs_16.asserts.wast b/tests/latch/static/core/int_exprs_16.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_16.asserts.wast rename to tests/latch/static/core/int_exprs_16.asserts.wast diff --git a/tests/latch/core/int_exprs_16.wast b/tests/latch/static/core/int_exprs_16.wast similarity index 100% rename from tests/latch/core/int_exprs_16.wast rename to tests/latch/static/core/int_exprs_16.wast diff --git a/tests/latch/core/int_exprs_17.asserts.wast b/tests/latch/static/core/int_exprs_17.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_17.asserts.wast rename to tests/latch/static/core/int_exprs_17.asserts.wast diff --git a/tests/latch/core/int_exprs_17.wast b/tests/latch/static/core/int_exprs_17.wast similarity index 100% rename from tests/latch/core/int_exprs_17.wast rename to tests/latch/static/core/int_exprs_17.wast diff --git a/tests/latch/core/int_exprs_2.asserts.wast b/tests/latch/static/core/int_exprs_2.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_2.asserts.wast rename to tests/latch/static/core/int_exprs_2.asserts.wast diff --git a/tests/latch/core/int_exprs_2.wast b/tests/latch/static/core/int_exprs_2.wast similarity index 100% rename from tests/latch/core/int_exprs_2.wast rename to tests/latch/static/core/int_exprs_2.wast diff --git a/tests/latch/core/int_exprs_3.asserts.wast b/tests/latch/static/core/int_exprs_3.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_3.asserts.wast rename to tests/latch/static/core/int_exprs_3.asserts.wast diff --git a/tests/latch/core/int_exprs_3.wast b/tests/latch/static/core/int_exprs_3.wast similarity index 100% rename from tests/latch/core/int_exprs_3.wast rename to tests/latch/static/core/int_exprs_3.wast diff --git a/tests/latch/core/int_exprs_4.asserts.wast b/tests/latch/static/core/int_exprs_4.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_4.asserts.wast rename to tests/latch/static/core/int_exprs_4.asserts.wast diff --git a/tests/latch/core/int_exprs_4.wast b/tests/latch/static/core/int_exprs_4.wast similarity index 100% rename from tests/latch/core/int_exprs_4.wast rename to tests/latch/static/core/int_exprs_4.wast diff --git a/tests/latch/core/int_exprs_5.asserts.wast b/tests/latch/static/core/int_exprs_5.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_5.asserts.wast rename to tests/latch/static/core/int_exprs_5.asserts.wast diff --git a/tests/latch/core/int_exprs_5.wast b/tests/latch/static/core/int_exprs_5.wast similarity index 100% rename from tests/latch/core/int_exprs_5.wast rename to tests/latch/static/core/int_exprs_5.wast diff --git a/tests/latch/core/int_exprs_8.asserts.wast b/tests/latch/static/core/int_exprs_8.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_8.asserts.wast rename to tests/latch/static/core/int_exprs_8.asserts.wast diff --git a/tests/latch/core/int_exprs_8.wast b/tests/latch/static/core/int_exprs_8.wast similarity index 100% rename from tests/latch/core/int_exprs_8.wast rename to tests/latch/static/core/int_exprs_8.wast diff --git a/tests/latch/core/int_exprs_9.asserts.wast b/tests/latch/static/core/int_exprs_9.asserts.wast similarity index 100% rename from tests/latch/core/int_exprs_9.asserts.wast rename to tests/latch/static/core/int_exprs_9.asserts.wast diff --git a/tests/latch/core/int_exprs_9.wast b/tests/latch/static/core/int_exprs_9.wast similarity index 100% rename from tests/latch/core/int_exprs_9.wast rename to tests/latch/static/core/int_exprs_9.wast diff --git a/tests/latch/core/int_literals_0.asserts.wast b/tests/latch/static/core/int_literals_0.asserts.wast similarity index 100% rename from tests/latch/core/int_literals_0.asserts.wast rename to tests/latch/static/core/int_literals_0.asserts.wast diff --git a/tests/latch/core/int_literals_0.wast b/tests/latch/static/core/int_literals_0.wast similarity index 100% rename from tests/latch/core/int_literals_0.wast rename to tests/latch/static/core/int_literals_0.wast diff --git a/tests/latch/core/labels_0.asserts.wast b/tests/latch/static/core/labels_0.asserts.wast similarity index 100% rename from tests/latch/core/labels_0.asserts.wast rename to tests/latch/static/core/labels_0.asserts.wast diff --git a/tests/latch/core/labels_0.wast b/tests/latch/static/core/labels_0.wast similarity index 100% rename from tests/latch/core/labels_0.wast rename to tests/latch/static/core/labels_0.wast diff --git a/tests/latch/core/left-to-right_0.asserts.wast b/tests/latch/static/core/left-to-right_0.asserts.wast similarity index 100% rename from tests/latch/core/left-to-right_0.asserts.wast rename to tests/latch/static/core/left-to-right_0.asserts.wast diff --git a/tests/latch/core/left-to-right_0.wast b/tests/latch/static/core/left-to-right_0.wast similarity index 100% rename from tests/latch/core/left-to-right_0.wast rename to tests/latch/static/core/left-to-right_0.wast diff --git a/tests/latch/core/load_0.asserts.wast b/tests/latch/static/core/load_0.asserts.wast similarity index 100% rename from tests/latch/core/load_0.asserts.wast rename to tests/latch/static/core/load_0.asserts.wast diff --git a/tests/latch/core/load_0.wast b/tests/latch/static/core/load_0.wast similarity index 100% rename from tests/latch/core/load_0.wast rename to tests/latch/static/core/load_0.wast diff --git a/tests/latch/core/local_get_0.asserts.wast b/tests/latch/static/core/local_get_0.asserts.wast similarity index 100% rename from tests/latch/core/local_get_0.asserts.wast rename to tests/latch/static/core/local_get_0.asserts.wast diff --git a/tests/latch/core/local_get_0.wast b/tests/latch/static/core/local_get_0.wast similarity index 100% rename from tests/latch/core/local_get_0.wast rename to tests/latch/static/core/local_get_0.wast diff --git a/tests/latch/core/local_set_0.asserts.wast b/tests/latch/static/core/local_set_0.asserts.wast similarity index 100% rename from tests/latch/core/local_set_0.asserts.wast rename to tests/latch/static/core/local_set_0.asserts.wast diff --git a/tests/latch/core/local_set_0.wast b/tests/latch/static/core/local_set_0.wast similarity index 100% rename from tests/latch/core/local_set_0.wast rename to tests/latch/static/core/local_set_0.wast diff --git a/tests/latch/core/local_tee_0.asserts.wast b/tests/latch/static/core/local_tee_0.asserts.wast similarity index 100% rename from tests/latch/core/local_tee_0.asserts.wast rename to tests/latch/static/core/local_tee_0.asserts.wast diff --git a/tests/latch/core/local_tee_0.wast b/tests/latch/static/core/local_tee_0.wast similarity index 100% rename from tests/latch/core/local_tee_0.wast rename to tests/latch/static/core/local_tee_0.wast diff --git a/tests/latch/core/memory_copy_0.asserts.wast b/tests/latch/static/core/memory_copy_0.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_0.asserts.wast rename to tests/latch/static/core/memory_copy_0.asserts.wast diff --git a/tests/latch/core/memory_copy_0.wast b/tests/latch/static/core/memory_copy_0.wast similarity index 100% rename from tests/latch/core/memory_copy_0.wast rename to tests/latch/static/core/memory_copy_0.wast diff --git a/tests/latch/core/memory_copy_1.asserts.wast b/tests/latch/static/core/memory_copy_1.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_1.asserts.wast rename to tests/latch/static/core/memory_copy_1.asserts.wast diff --git a/tests/latch/core/memory_copy_1.wast b/tests/latch/static/core/memory_copy_1.wast similarity index 100% rename from tests/latch/core/memory_copy_1.wast rename to tests/latch/static/core/memory_copy_1.wast diff --git a/tests/latch/core/memory_copy_10.asserts.wast b/tests/latch/static/core/memory_copy_10.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_10.asserts.wast rename to tests/latch/static/core/memory_copy_10.asserts.wast diff --git a/tests/latch/core/memory_copy_10.wast b/tests/latch/static/core/memory_copy_10.wast similarity index 100% rename from tests/latch/core/memory_copy_10.wast rename to tests/latch/static/core/memory_copy_10.wast diff --git a/tests/latch/core/memory_copy_11.asserts.wast b/tests/latch/static/core/memory_copy_11.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_11.asserts.wast rename to tests/latch/static/core/memory_copy_11.asserts.wast diff --git a/tests/latch/core/memory_copy_11.wast b/tests/latch/static/core/memory_copy_11.wast similarity index 100% rename from tests/latch/core/memory_copy_11.wast rename to tests/latch/static/core/memory_copy_11.wast diff --git a/tests/latch/core/memory_copy_12.asserts.wast b/tests/latch/static/core/memory_copy_12.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_12.asserts.wast rename to tests/latch/static/core/memory_copy_12.asserts.wast diff --git a/tests/latch/core/memory_copy_12.wast b/tests/latch/static/core/memory_copy_12.wast similarity index 100% rename from tests/latch/core/memory_copy_12.wast rename to tests/latch/static/core/memory_copy_12.wast diff --git a/tests/latch/core/memory_copy_13.asserts.wast b/tests/latch/static/core/memory_copy_13.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_13.asserts.wast rename to tests/latch/static/core/memory_copy_13.asserts.wast diff --git a/tests/latch/core/memory_copy_13.wast b/tests/latch/static/core/memory_copy_13.wast similarity index 100% rename from tests/latch/core/memory_copy_13.wast rename to tests/latch/static/core/memory_copy_13.wast diff --git a/tests/latch/core/memory_copy_14.asserts.wast b/tests/latch/static/core/memory_copy_14.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_14.asserts.wast rename to tests/latch/static/core/memory_copy_14.asserts.wast diff --git a/tests/latch/core/memory_copy_14.wast b/tests/latch/static/core/memory_copy_14.wast similarity index 100% rename from tests/latch/core/memory_copy_14.wast rename to tests/latch/static/core/memory_copy_14.wast diff --git a/tests/latch/core/memory_copy_15.asserts.wast b/tests/latch/static/core/memory_copy_15.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_15.asserts.wast rename to tests/latch/static/core/memory_copy_15.asserts.wast diff --git a/tests/latch/core/memory_copy_15.wast b/tests/latch/static/core/memory_copy_15.wast similarity index 100% rename from tests/latch/core/memory_copy_15.wast rename to tests/latch/static/core/memory_copy_15.wast diff --git a/tests/latch/core/memory_copy_16.asserts.wast b/tests/latch/static/core/memory_copy_16.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_16.asserts.wast rename to tests/latch/static/core/memory_copy_16.asserts.wast diff --git a/tests/latch/core/memory_copy_16.wast b/tests/latch/static/core/memory_copy_16.wast similarity index 100% rename from tests/latch/core/memory_copy_16.wast rename to tests/latch/static/core/memory_copy_16.wast diff --git a/tests/latch/core/memory_copy_17.asserts.wast b/tests/latch/static/core/memory_copy_17.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_17.asserts.wast rename to tests/latch/static/core/memory_copy_17.asserts.wast diff --git a/tests/latch/core/memory_copy_17.wast b/tests/latch/static/core/memory_copy_17.wast similarity index 100% rename from tests/latch/core/memory_copy_17.wast rename to tests/latch/static/core/memory_copy_17.wast diff --git a/tests/latch/core/memory_copy_18.asserts.wast b/tests/latch/static/core/memory_copy_18.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_18.asserts.wast rename to tests/latch/static/core/memory_copy_18.asserts.wast diff --git a/tests/latch/core/memory_copy_18.wast b/tests/latch/static/core/memory_copy_18.wast similarity index 100% rename from tests/latch/core/memory_copy_18.wast rename to tests/latch/static/core/memory_copy_18.wast diff --git a/tests/latch/core/memory_copy_2.asserts.wast b/tests/latch/static/core/memory_copy_2.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_2.asserts.wast rename to tests/latch/static/core/memory_copy_2.asserts.wast diff --git a/tests/latch/core/memory_copy_2.wast b/tests/latch/static/core/memory_copy_2.wast similarity index 100% rename from tests/latch/core/memory_copy_2.wast rename to tests/latch/static/core/memory_copy_2.wast diff --git a/tests/latch/core/memory_copy_3.asserts.wast b/tests/latch/static/core/memory_copy_3.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_3.asserts.wast rename to tests/latch/static/core/memory_copy_3.asserts.wast diff --git a/tests/latch/core/memory_copy_3.wast b/tests/latch/static/core/memory_copy_3.wast similarity index 100% rename from tests/latch/core/memory_copy_3.wast rename to tests/latch/static/core/memory_copy_3.wast diff --git a/tests/latch/core/memory_copy_4.asserts.wast b/tests/latch/static/core/memory_copy_4.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_4.asserts.wast rename to tests/latch/static/core/memory_copy_4.asserts.wast diff --git a/tests/latch/core/memory_copy_4.wast b/tests/latch/static/core/memory_copy_4.wast similarity index 100% rename from tests/latch/core/memory_copy_4.wast rename to tests/latch/static/core/memory_copy_4.wast diff --git a/tests/latch/core/memory_copy_5.asserts.wast b/tests/latch/static/core/memory_copy_5.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_5.asserts.wast rename to tests/latch/static/core/memory_copy_5.asserts.wast diff --git a/tests/latch/core/memory_copy_5.wast b/tests/latch/static/core/memory_copy_5.wast similarity index 100% rename from tests/latch/core/memory_copy_5.wast rename to tests/latch/static/core/memory_copy_5.wast diff --git a/tests/latch/core/memory_copy_6.asserts.wast b/tests/latch/static/core/memory_copy_6.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_6.asserts.wast rename to tests/latch/static/core/memory_copy_6.asserts.wast diff --git a/tests/latch/core/memory_copy_6.wast b/tests/latch/static/core/memory_copy_6.wast similarity index 100% rename from tests/latch/core/memory_copy_6.wast rename to tests/latch/static/core/memory_copy_6.wast diff --git a/tests/latch/core/memory_copy_7.asserts.wast b/tests/latch/static/core/memory_copy_7.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_7.asserts.wast rename to tests/latch/static/core/memory_copy_7.asserts.wast diff --git a/tests/latch/core/memory_copy_7.wast b/tests/latch/static/core/memory_copy_7.wast similarity index 100% rename from tests/latch/core/memory_copy_7.wast rename to tests/latch/static/core/memory_copy_7.wast diff --git a/tests/latch/core/memory_copy_8.asserts.wast b/tests/latch/static/core/memory_copy_8.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_8.asserts.wast rename to tests/latch/static/core/memory_copy_8.asserts.wast diff --git a/tests/latch/core/memory_copy_8.wast b/tests/latch/static/core/memory_copy_8.wast similarity index 100% rename from tests/latch/core/memory_copy_8.wast rename to tests/latch/static/core/memory_copy_8.wast diff --git a/tests/latch/core/memory_copy_9.asserts.wast b/tests/latch/static/core/memory_copy_9.asserts.wast similarity index 100% rename from tests/latch/core/memory_copy_9.asserts.wast rename to tests/latch/static/core/memory_copy_9.asserts.wast diff --git a/tests/latch/core/memory_copy_9.wast b/tests/latch/static/core/memory_copy_9.wast similarity index 100% rename from tests/latch/core/memory_copy_9.wast rename to tests/latch/static/core/memory_copy_9.wast diff --git a/tests/latch/core/memory_grow.wast b/tests/latch/static/core/memory_grow.wast similarity index 100% rename from tests/latch/core/memory_grow.wast rename to tests/latch/static/core/memory_grow.wast diff --git a/tests/latch/core/memory_grow_0.wast b/tests/latch/static/core/memory_grow_0.wast similarity index 100% rename from tests/latch/core/memory_grow_0.wast rename to tests/latch/static/core/memory_grow_0.wast diff --git a/tests/latch/core/memory_grow_1.asserts.wast b/tests/latch/static/core/memory_grow_1.asserts.wast similarity index 100% rename from tests/latch/core/memory_grow_1.asserts.wast rename to tests/latch/static/core/memory_grow_1.asserts.wast diff --git a/tests/latch/core/memory_grow_1.wast b/tests/latch/static/core/memory_grow_1.wast similarity index 100% rename from tests/latch/core/memory_grow_1.wast rename to tests/latch/static/core/memory_grow_1.wast diff --git a/tests/latch/core/memory_grow_2.wast b/tests/latch/static/core/memory_grow_2.wast similarity index 100% rename from tests/latch/core/memory_grow_2.wast rename to tests/latch/static/core/memory_grow_2.wast diff --git a/tests/latch/core/memory_grow_3.asserts.wast b/tests/latch/static/core/memory_grow_3.asserts.wast similarity index 100% rename from tests/latch/core/memory_grow_3.asserts.wast rename to tests/latch/static/core/memory_grow_3.asserts.wast diff --git a/tests/latch/core/memory_grow_3.wast b/tests/latch/static/core/memory_grow_3.wast similarity index 100% rename from tests/latch/core/memory_grow_3.wast rename to tests/latch/static/core/memory_grow_3.wast diff --git a/tests/latch/core/memory_grow_4.asserts.wast b/tests/latch/static/core/memory_grow_4.asserts.wast similarity index 100% rename from tests/latch/core/memory_grow_4.asserts.wast rename to tests/latch/static/core/memory_grow_4.asserts.wast diff --git a/tests/latch/core/memory_grow_4.wast b/tests/latch/static/core/memory_grow_4.wast similarity index 100% rename from tests/latch/core/memory_grow_4.wast rename to tests/latch/static/core/memory_grow_4.wast diff --git a/tests/latch/core/memory_size.wast b/tests/latch/static/core/memory_size.wast similarity index 100% rename from tests/latch/core/memory_size.wast rename to tests/latch/static/core/memory_size.wast diff --git a/tests/latch/core/memory_size_0.wast b/tests/latch/static/core/memory_size_0.wast similarity index 100% rename from tests/latch/core/memory_size_0.wast rename to tests/latch/static/core/memory_size_0.wast diff --git a/tests/latch/core/memory_size_1.wast b/tests/latch/static/core/memory_size_1.wast similarity index 100% rename from tests/latch/core/memory_size_1.wast rename to tests/latch/static/core/memory_size_1.wast diff --git a/tests/latch/core/memory_size_2.wast b/tests/latch/static/core/memory_size_2.wast similarity index 100% rename from tests/latch/core/memory_size_2.wast rename to tests/latch/static/core/memory_size_2.wast diff --git a/tests/latch/core/memory_size_3.wast b/tests/latch/static/core/memory_size_3.wast similarity index 100% rename from tests/latch/core/memory_size_3.wast rename to tests/latch/static/core/memory_size_3.wast diff --git a/tests/latch/core/names_0.asserts.wast b/tests/latch/static/core/names_0.asserts.wast similarity index 100% rename from tests/latch/core/names_0.asserts.wast rename to tests/latch/static/core/names_0.asserts.wast diff --git a/tests/latch/core/names_0.wast b/tests/latch/static/core/names_0.wast similarity index 100% rename from tests/latch/core/names_0.wast rename to tests/latch/static/core/names_0.wast diff --git a/tests/latch/core/names_1.asserts.wast b/tests/latch/static/core/names_1.asserts.wast similarity index 100% rename from tests/latch/core/names_1.asserts.wast rename to tests/latch/static/core/names_1.asserts.wast diff --git a/tests/latch/core/names_1.wast b/tests/latch/static/core/names_1.wast similarity index 100% rename from tests/latch/core/names_1.wast rename to tests/latch/static/core/names_1.wast diff --git a/tests/latch/core/names_2.asserts.wast b/tests/latch/static/core/names_2.asserts.wast similarity index 100% rename from tests/latch/core/names_2.asserts.wast rename to tests/latch/static/core/names_2.asserts.wast diff --git a/tests/latch/core/names_2.wast b/tests/latch/static/core/names_2.wast similarity index 100% rename from tests/latch/core/names_2.wast rename to tests/latch/static/core/names_2.wast diff --git a/tests/latch/core/names_3.wast b/tests/latch/static/core/names_3.wast similarity index 100% rename from tests/latch/core/names_3.wast rename to tests/latch/static/core/names_3.wast diff --git a/tests/latch/core/nop_0.asserts.wast b/tests/latch/static/core/nop_0.asserts.wast similarity index 100% rename from tests/latch/core/nop_0.asserts.wast rename to tests/latch/static/core/nop_0.asserts.wast diff --git a/tests/latch/core/nop_0.wast b/tests/latch/static/core/nop_0.wast similarity index 100% rename from tests/latch/core/nop_0.wast rename to tests/latch/static/core/nop_0.wast diff --git a/tests/latch/core/return_0.asserts.wast b/tests/latch/static/core/return_0.asserts.wast similarity index 100% rename from tests/latch/core/return_0.asserts.wast rename to tests/latch/static/core/return_0.asserts.wast diff --git a/tests/latch/core/return_0.wast b/tests/latch/static/core/return_0.wast similarity index 100% rename from tests/latch/core/return_0.wast rename to tests/latch/static/core/return_0.wast diff --git a/tests/latch/core/switch_0.asserts.wast b/tests/latch/static/core/switch_0.asserts.wast similarity index 100% rename from tests/latch/core/switch_0.asserts.wast rename to tests/latch/static/core/switch_0.asserts.wast diff --git a/tests/latch/core/switch_0.wast b/tests/latch/static/core/switch_0.wast similarity index 100% rename from tests/latch/core/switch_0.wast rename to tests/latch/static/core/switch_0.wast diff --git a/tests/latch/core/unwind.asserts.wast b/tests/latch/static/core/unwind.asserts.wast similarity index 100% rename from tests/latch/core/unwind.asserts.wast rename to tests/latch/static/core/unwind.asserts.wast diff --git a/tests/latch/core/unwind.wast b/tests/latch/static/core/unwind.wast similarity index 100% rename from tests/latch/core/unwind.wast rename to tests/latch/static/core/unwind.wast diff --git a/tests/latch/core/unwind_0.asserts.wast b/tests/latch/static/core/unwind_0.asserts.wast similarity index 100% rename from tests/latch/core/unwind_0.asserts.wast rename to tests/latch/static/core/unwind_0.asserts.wast diff --git a/tests/latch/core/unwind_0.wast b/tests/latch/static/core/unwind_0.wast similarity index 100% rename from tests/latch/core/unwind_0.wast rename to tests/latch/static/core/unwind_0.wast diff --git a/tests/latch/examples/blink.wast b/tests/latch/static/examples/blink.wast similarity index 100% rename from tests/latch/examples/blink.wast rename to tests/latch/static/examples/blink.wast diff --git a/tests/latch/examples/button.wast b/tests/latch/static/examples/button.wast similarity index 100% rename from tests/latch/examples/button.wast rename to tests/latch/static/examples/button.wast diff --git a/tests/latch/examples/call.wast b/tests/latch/static/examples/call.wast similarity index 100% rename from tests/latch/examples/call.wast rename to tests/latch/static/examples/call.wast diff --git a/tests/latch/src/computations.wast b/tests/latch/static/examples/computations.wast similarity index 100% rename from tests/latch/src/computations.wast rename to tests/latch/static/examples/computations.wast diff --git a/tests/latch/examples/factorial.wast b/tests/latch/static/examples/factorial.wast similarity index 100% rename from tests/latch/examples/factorial.wast rename to tests/latch/static/examples/factorial.wast diff --git a/tests/latch/src/maths.wast b/tests/latch/static/examples/maths.wast similarity index 100% rename from tests/latch/src/maths.wast rename to tests/latch/static/examples/maths.wast diff --git a/tests/latch/src/test.wast b/tests/latch/static/examples/test.wast similarity index 100% rename from tests/latch/src/test.wast rename to tests/latch/static/examples/test.wast diff --git a/tests/latch/static/r3/README.md b/tests/latch/static/r3/README.md new file mode 100644 index 000000000..fb3eb5af3 --- /dev/null +++ b/tests/latch/static/r3/README.md @@ -0,0 +1,4 @@ +# Wasm R3 Bench for WARDuino + +Original benchmark suite: https://github.com/sola-st/wasm-r3 + diff --git a/tests/latch/static/r3/boa.wat b/tests/latch/static/r3/boa.wat new file mode 100644 index 000000000..fb008fca8 --- /dev/null +++ b/tests/latch/static/r3/boa.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:948f32c78c6e08380088774e18cbaf51bee1f652b1c2717c0eccdd35714c6846 +size 152816090 diff --git a/tests/latch/static/r3/bullet.wat b/tests/latch/static/r3/bullet.wat new file mode 100644 index 000000000..b6dd7954d --- /dev/null +++ b/tests/latch/static/r3/bullet.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:634deace5827686b9006b834cf7eb1be3987d7e7efd9344f829ea70327d3f28c +size 5793860 diff --git a/tests/latch/static/r3/commanderkeen.wat b/tests/latch/static/r3/commanderkeen.wat new file mode 100644 index 000000000..bd8a7be28 --- /dev/null +++ b/tests/latch/static/r3/commanderkeen.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaf450384fbd5391c8f568b22018e7b9324b55b14de43082e251fbe256a39ae9 +size 45977299 diff --git a/tests/latch/static/r3/factorial.wat b/tests/latch/static/r3/factorial.wat new file mode 100644 index 000000000..145cc889e --- /dev/null +++ b/tests/latch/static/r3/factorial.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d80f1d07e9f232d7f9d4e2a4f51d65338172c8e6919553410e80af78fb3876a9 +size 480897 diff --git a/tests/latch/static/r3/ffmpeg.wat b/tests/latch/static/r3/ffmpeg.wat new file mode 100644 index 000000000..15aed6c3e --- /dev/null +++ b/tests/latch/static/r3/ffmpeg.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13cb4d1156d69d1fa112047bb4d8ee1b039f4f7b371127ad549a1eb946890736 +size 70125046 diff --git a/tests/latch/static/r3/fib.wat b/tests/latch/static/r3/fib.wat new file mode 100644 index 000000000..a68efdfeb --- /dev/null +++ b/tests/latch/static/r3/fib.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd6788636bdea608ae902b0436d6382952fe5189ef6bdebf52b378b91d0e0df7 +size 1399763 diff --git a/tests/latch/static/r3/figma-startpage.wat b/tests/latch/static/r3/figma-startpage.wat new file mode 100644 index 000000000..97d51a668 --- /dev/null +++ b/tests/latch/static/r3/figma-startpage.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:834f638d81f78a207dc99994fd84f66544d39107b8c5c575a33173615f67586f +size 13224282 diff --git a/tests/latch/static/r3/funky-kart.wat b/tests/latch/static/r3/funky-kart.wat new file mode 100644 index 000000000..6a61fb55a --- /dev/null +++ b/tests/latch/static/r3/funky-kart.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10d8af3e1173b348e0ce466b77f2b442ec0d7398605e0141bea2b669ee478ccd +size 8323835 diff --git a/tests/latch/static/r3/game-of-life.wat b/tests/latch/static/r3/game-of-life.wat new file mode 100644 index 000000000..ac551b7e4 --- /dev/null +++ b/tests/latch/static/r3/game-of-life.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:522cd8c22653b67a7682e3c16203a8d2cc19882aa2cb19851f1ce45c028abfc8 +size 10017 diff --git a/tests/latch/static/r3/guiicons.wat b/tests/latch/static/r3/guiicons.wat new file mode 100644 index 000000000..5d3860f31 --- /dev/null +++ b/tests/latch/static/r3/guiicons.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5bd09091d10399da53b18fa827f3f0a4855659fe6f0c1faa4c9ba8bc692b497 +size 4429683 diff --git a/tests/latch/static/r3/hydro.wat b/tests/latch/static/r3/hydro.wat new file mode 100644 index 000000000..c1c68cf8d --- /dev/null +++ b/tests/latch/static/r3/hydro.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36fcd2aff8c7efd8985124b17a3db356cd51f56b8731507657aba930ca7a854f +size 9965381 diff --git a/tests/latch/static/r3/jqkungfu.wat b/tests/latch/static/r3/jqkungfu.wat new file mode 100644 index 000000000..a10a3ba1a --- /dev/null +++ b/tests/latch/static/r3/jqkungfu.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d24e47a05715b920cd231dbab82dda87125bf23ed59e5532c778b3a3649c350 +size 15270735 diff --git a/tests/latch/static/r3/jsc.wat b/tests/latch/static/r3/jsc.wat new file mode 100644 index 000000000..3af3d20c6 --- /dev/null +++ b/tests/latch/static/r3/jsc.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f414869aeff7b3914216055d33b96a8641bf38e3789a28268d20046ce23b8793 +size 89504092 diff --git a/tests/latch/static/r3/mandelbrot.wat b/tests/latch/static/r3/mandelbrot.wat new file mode 100644 index 000000000..703674dbf --- /dev/null +++ b/tests/latch/static/r3/mandelbrot.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3317ab33d0040a1824c82580ca21d0d4cc741fa14bb569dea6a16162cb435ad +size 1223614 diff --git a/tests/latch/static/r3/multiplyDouble.wat b/tests/latch/static/r3/multiplyDouble.wat new file mode 100644 index 000000000..3ff8ec99e --- /dev/null +++ b/tests/latch/static/r3/multiplyDouble.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27a57afa83103d03b75efbe3d22e3dbd5a4c89f755a400f43967cfea22c990e6 +size 1400467 diff --git a/tests/latch/static/r3/multiplyInt.wat b/tests/latch/static/r3/multiplyInt.wat new file mode 100644 index 000000000..016840f65 --- /dev/null +++ b/tests/latch/static/r3/multiplyInt.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42c6a264b9b50a994cf60328c2adc1806704feaca46da3099336d9a88dfb8fa6 +size 1400121 diff --git a/tests/latch/static/r3/pacalc.wat b/tests/latch/static/r3/pacalc.wat new file mode 100644 index 000000000..635066d6b --- /dev/null +++ b/tests/latch/static/r3/pacalc.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acf7fa78ea7e07fa9aea3be41a5ef84f68eac4825683d1d6d440307117f450d8 +size 4278843 diff --git a/tests/latch/static/r3/parquet.wat b/tests/latch/static/r3/parquet.wat new file mode 100644 index 000000000..431ca8513 --- /dev/null +++ b/tests/latch/static/r3/parquet.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0662760cca223ceb51799522182f679e854e12c2cac44214fcc39aa57066882 +size 26560896 diff --git a/tests/latch/static/r3/pathfinding.wat b/tests/latch/static/r3/pathfinding.wat new file mode 100644 index 000000000..ff21d85eb --- /dev/null +++ b/tests/latch/static/r3/pathfinding.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfa102640195d2a876178726dbebff8b7c54e835e3b7638e410410f7a6465815 +size 1966376 diff --git a/tests/latch/static/r3/rfxgen.wat b/tests/latch/static/r3/rfxgen.wat new file mode 100644 index 000000000..dd8f5b92c --- /dev/null +++ b/tests/latch/static/r3/rfxgen.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d935594ffdec3c6404e3fc3327a78b59076e5b6920f86f39c58a6a40ade4b595 +size 5668623 diff --git a/tests/latch/static/r3/rguilayout.wat b/tests/latch/static/r3/rguilayout.wat new file mode 100644 index 000000000..f67598d8e --- /dev/null +++ b/tests/latch/static/r3/rguilayout.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a3b25e97edb75c9e1ab2560791beaea4d38ea3f19e8576a0e72f754b98fc6f5 +size 6114508 diff --git a/tests/latch/static/r3/rguistyler.wat b/tests/latch/static/r3/rguistyler.wat new file mode 100644 index 000000000..c380e1942 --- /dev/null +++ b/tests/latch/static/r3/rguistyler.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f8f66d0b7210f9e6df094d7db5a2cbfa00225dc09412b95093304b914994a87 +size 6622174 diff --git a/tests/latch/static/r3/riconpacker.wat b/tests/latch/static/r3/riconpacker.wat new file mode 100644 index 000000000..3d9ddce9e --- /dev/null +++ b/tests/latch/static/r3/riconpacker.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a3348be89d721000ebc4ab53f6ba33f0ea3701331f6c6076e60ac548c47c748 +size 6552430 diff --git a/tests/latch/static/r3/rtexpacker.wat b/tests/latch/static/r3/rtexpacker.wat new file mode 100644 index 000000000..ac006b3ef --- /dev/null +++ b/tests/latch/static/r3/rtexpacker.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c41e45e43644b4a9a18a7dad9b905e7b95f55facdf96dc4823b5fdb4b13ed4f5 +size 5028595 diff --git a/tests/latch/static/r3/rtexviewer.wat b/tests/latch/static/r3/rtexviewer.wat new file mode 100644 index 000000000..7265bc2b8 --- /dev/null +++ b/tests/latch/static/r3/rtexviewer.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48e31c3b92cf1646054a2bb209dcecc3add97d08797cb7c06f305e630752fa9a +size 4275763 diff --git a/tests/latch/static/r3/sandspiel.wat b/tests/latch/static/r3/sandspiel.wat new file mode 100644 index 000000000..be8bf2d05 --- /dev/null +++ b/tests/latch/static/r3/sandspiel.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c6863c1e1ef3a0b516345d8c49555afbdbae38c7a3e863feb2d31e77c74d3c5 +size 5527307 diff --git a/tests/latch/static/r3/sqlgui.wat b/tests/latch/static/r3/sqlgui.wat new file mode 100644 index 000000000..486489485 --- /dev/null +++ b/tests/latch/static/r3/sqlgui.wat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a51edefd7ce3e9f1ba03b2a034352ec645b0f461097f425958085914b5895843 +size 14651475 diff --git a/tutorials/rust/examples/analog-io/button.wat b/tutorials/rust/examples/analog-io/button.wat index e7eefecf6..492803bfd 100644 --- a/tutorials/rust/examples/analog-io/button.wat +++ b/tutorials/rust/examples/analog-io/button.wat @@ -1,57 +1,3 @@ -(module - (type $t0 (func (param i32 i32))) - (type $t1 (func (param i32) (result i32))) - (type $t2 (func (param i32 i32 i32))) - (type $t3 (func (param i32 i32 i32 i32 i32))) - (type $t4 (func)) - (import "env" "chip_pin_mode" (func $env.chip_pin_mode (type $t0))) - (import "env" "chip_digital_write" (func $env.chip_digital_write (type $t0))) - (import "env" "chip_digital_read" (func $env.chip_digital_read (type $t1))) - (import "env" "subscribe_interrupt" (func $env.subscribe_interrupt (type $t2))) - (func $f4 (type $t3) (param $p0 i32) (param $p1 i32) (param $p2 i32) (param $p3 i32) (param $p4 i32) - i32.const 26 - i32.const 26 - call $f8 - i32.const 1 - i32.ne - call $f7) - (func $main (type $t4) - i32.const 25 - i32.const 0 - call $f6 - i32.const 26 - i32.const 2 - call $f6 - i32.const 25 - i32.const 1 - i32.const 2 - call $f9 - loop $L0 - br $L0 - end) - (func $f6 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_pin_mode) - (func $f7 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_digital_write) - (func $f8 (type $t1) (param $p0 i32) (result i32) - local.get $p0 - call $env.chip_digital_read) - (func $f9 (type $t2) (param $p0 i32) (param $p1 i32) (param $p2 i32) - local.get $p0 - local.get $p1 - local.get $p2 - call $env.subscribe_interrupt) - (table $T0 2 2 funcref) - (memory $memory 1) - (global $g0 (mut i32) (i32.const 2048)) - (global $__data_end i32 (i32.const 2048)) - (global $__heap_base i32 (i32.const 2048)) - (export "memory" (memory $memory)) - (export "main" (func $main)) - (export "__data_end" (global $__data_end)) - (export "__heap_base" (global $__heap_base)) - (elem $e0 (i32.const 1) func $f4)) +version https://git-lfs.github.com/spec/v1 +oid sha256:a9125c8f932316ec5c0fcd8e87233d0e65fad56d68971fb910f6afac38507d70 +size 1795 diff --git a/tutorials/rust/examples/analog/button.wat b/tutorials/rust/examples/analog/button.wat index e7eefecf6..492803bfd 100644 --- a/tutorials/rust/examples/analog/button.wat +++ b/tutorials/rust/examples/analog/button.wat @@ -1,57 +1,3 @@ -(module - (type $t0 (func (param i32 i32))) - (type $t1 (func (param i32) (result i32))) - (type $t2 (func (param i32 i32 i32))) - (type $t3 (func (param i32 i32 i32 i32 i32))) - (type $t4 (func)) - (import "env" "chip_pin_mode" (func $env.chip_pin_mode (type $t0))) - (import "env" "chip_digital_write" (func $env.chip_digital_write (type $t0))) - (import "env" "chip_digital_read" (func $env.chip_digital_read (type $t1))) - (import "env" "subscribe_interrupt" (func $env.subscribe_interrupt (type $t2))) - (func $f4 (type $t3) (param $p0 i32) (param $p1 i32) (param $p2 i32) (param $p3 i32) (param $p4 i32) - i32.const 26 - i32.const 26 - call $f8 - i32.const 1 - i32.ne - call $f7) - (func $main (type $t4) - i32.const 25 - i32.const 0 - call $f6 - i32.const 26 - i32.const 2 - call $f6 - i32.const 25 - i32.const 1 - i32.const 2 - call $f9 - loop $L0 - br $L0 - end) - (func $f6 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_pin_mode) - (func $f7 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_digital_write) - (func $f8 (type $t1) (param $p0 i32) (result i32) - local.get $p0 - call $env.chip_digital_read) - (func $f9 (type $t2) (param $p0 i32) (param $p1 i32) (param $p2 i32) - local.get $p0 - local.get $p1 - local.get $p2 - call $env.subscribe_interrupt) - (table $T0 2 2 funcref) - (memory $memory 1) - (global $g0 (mut i32) (i32.const 2048)) - (global $__data_end i32 (i32.const 2048)) - (global $__heap_base i32 (i32.const 2048)) - (export "memory" (memory $memory)) - (export "main" (func $main)) - (export "__data_end" (global $__data_end)) - (export "__heap_base" (global $__heap_base)) - (elem $e0 (i32.const 1) func $f4)) +version https://git-lfs.github.com/spec/v1 +oid sha256:a9125c8f932316ec5c0fcd8e87233d0e65fad56d68971fb910f6afac38507d70 +size 1795 diff --git a/tutorials/rust/examples/button/button.wat b/tutorials/rust/examples/button/button.wat index e7eefecf6..492803bfd 100644 --- a/tutorials/rust/examples/button/button.wat +++ b/tutorials/rust/examples/button/button.wat @@ -1,57 +1,3 @@ -(module - (type $t0 (func (param i32 i32))) - (type $t1 (func (param i32) (result i32))) - (type $t2 (func (param i32 i32 i32))) - (type $t3 (func (param i32 i32 i32 i32 i32))) - (type $t4 (func)) - (import "env" "chip_pin_mode" (func $env.chip_pin_mode (type $t0))) - (import "env" "chip_digital_write" (func $env.chip_digital_write (type $t0))) - (import "env" "chip_digital_read" (func $env.chip_digital_read (type $t1))) - (import "env" "subscribe_interrupt" (func $env.subscribe_interrupt (type $t2))) - (func $f4 (type $t3) (param $p0 i32) (param $p1 i32) (param $p2 i32) (param $p3 i32) (param $p4 i32) - i32.const 26 - i32.const 26 - call $f8 - i32.const 1 - i32.ne - call $f7) - (func $main (type $t4) - i32.const 25 - i32.const 0 - call $f6 - i32.const 26 - i32.const 2 - call $f6 - i32.const 25 - i32.const 1 - i32.const 2 - call $f9 - loop $L0 - br $L0 - end) - (func $f6 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_pin_mode) - (func $f7 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_digital_write) - (func $f8 (type $t1) (param $p0 i32) (result i32) - local.get $p0 - call $env.chip_digital_read) - (func $f9 (type $t2) (param $p0 i32) (param $p1 i32) (param $p2 i32) - local.get $p0 - local.get $p1 - local.get $p2 - call $env.subscribe_interrupt) - (table $T0 2 2 funcref) - (memory $memory 1) - (global $g0 (mut i32) (i32.const 2048)) - (global $__data_end i32 (i32.const 2048)) - (global $__heap_base i32 (i32.const 2048)) - (export "memory" (memory $memory)) - (export "main" (func $main)) - (export "__data_end" (global $__data_end)) - (export "__heap_base" (global $__heap_base)) - (elem $e0 (i32.const 1) func $f4)) +version https://git-lfs.github.com/spec/v1 +oid sha256:a9125c8f932316ec5c0fcd8e87233d0e65fad56d68971fb910f6afac38507d70 +size 1795 diff --git a/tutorials/rust/examples/configuration/button.wat b/tutorials/rust/examples/configuration/button.wat index e7eefecf6..492803bfd 100644 --- a/tutorials/rust/examples/configuration/button.wat +++ b/tutorials/rust/examples/configuration/button.wat @@ -1,57 +1,3 @@ -(module - (type $t0 (func (param i32 i32))) - (type $t1 (func (param i32) (result i32))) - (type $t2 (func (param i32 i32 i32))) - (type $t3 (func (param i32 i32 i32 i32 i32))) - (type $t4 (func)) - (import "env" "chip_pin_mode" (func $env.chip_pin_mode (type $t0))) - (import "env" "chip_digital_write" (func $env.chip_digital_write (type $t0))) - (import "env" "chip_digital_read" (func $env.chip_digital_read (type $t1))) - (import "env" "subscribe_interrupt" (func $env.subscribe_interrupt (type $t2))) - (func $f4 (type $t3) (param $p0 i32) (param $p1 i32) (param $p2 i32) (param $p3 i32) (param $p4 i32) - i32.const 26 - i32.const 26 - call $f8 - i32.const 1 - i32.ne - call $f7) - (func $main (type $t4) - i32.const 25 - i32.const 0 - call $f6 - i32.const 26 - i32.const 2 - call $f6 - i32.const 25 - i32.const 1 - i32.const 2 - call $f9 - loop $L0 - br $L0 - end) - (func $f6 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_pin_mode) - (func $f7 (type $t0) (param $p0 i32) (param $p1 i32) - local.get $p0 - local.get $p1 - call $env.chip_digital_write) - (func $f8 (type $t1) (param $p0 i32) (result i32) - local.get $p0 - call $env.chip_digital_read) - (func $f9 (type $t2) (param $p0 i32) (param $p1 i32) (param $p2 i32) - local.get $p0 - local.get $p1 - local.get $p2 - call $env.subscribe_interrupt) - (table $T0 2 2 funcref) - (memory $memory 1) - (global $g0 (mut i32) (i32.const 2048)) - (global $__data_end i32 (i32.const 2048)) - (global $__heap_base i32 (i32.const 2048)) - (export "memory" (memory $memory)) - (export "main" (func $main)) - (export "__data_end" (global $__data_end)) - (export "__heap_base" (global $__heap_base)) - (elem $e0 (i32.const 1) func $f4)) +version https://git-lfs.github.com/spec/v1 +oid sha256:a9125c8f932316ec5c0fcd8e87233d0e65fad56d68971fb910f6afac38507d70 +size 1795 diff --git a/tutorials/wat/main/blink.wat b/tutorials/wat/main/blink.wat index 1ef04beea..88bf0be30 100644 --- a/tutorials/wat/main/blink.wat +++ b/tutorials/wat/main/blink.wat @@ -1,50 +1,3 @@ -(module - ;; Type declarations - (type $int32->int32->void (func (param i32 i32))) - (type $int32->void (func (param i32))) - (type $void->void (func)) - - ;; Imports from the WARDuino VM - (import "env" "chip_delay" (func $env.chip_delay (type $int32->void))) - (import "env" "chip_pin_mode" (func $env.chip_pin_mode (type $int32->int32->void))) - (import "env" "chip_digital_write" (func $env.chip_digital_write (type $int32->int32->void))) - - ;; Non-mutable globals - (global $led i32 (i32.const 23)) - (global $on i32 (i32.const 1)) - (global $off i32 (i32.const 0)) - - ;; Initialise function (private) - (func $init (type $void->void) - ;; Set pin mode - global.get $led - i32.const 2 - call $env.chip_pin_mode) - - ;; Blink function (public) - (func $blink (type $void->void) - ;; Declare local $delay - (local $delay i32) - i32.const 1000 - local.set $delay - - ;; Initialise - call $init - - ;; Blink in infinite loop - loop $infinite - global.get $led - global.get $on - call $env.chip_digital_write ;; turn led on - local.get $delay - call $env.chip_delay ;; wait - global.get $led - global.get $off - call $env.chip_digital_write ;; turn led off - local.get $delay - call $env.chip_delay ;; wait - br $infinite ;; jump back to start of loop - end) - - ;; Export blink as function - (export "main" (func $blink))) +version https://git-lfs.github.com/spec/v1 +oid sha256:332ac1ccd3a8aecd856a4531cbb8e7d03d9c9fe20cfa7cfbddff18b5c183fdd8 +size 1426 diff --git a/tutorials/wat/main/fac.wat b/tutorials/wat/main/fac.wat index 2187789af..4dac0da6e 100644 --- a/tutorials/wat/main/fac.wat +++ b/tutorials/wat/main/fac.wat @@ -1,43 +1,3 @@ -(module - - (; Imports from the WARDuino VM ;) - (import "env" "print_string" (func $print.string (type $i32->i32->void))) - (import "env" "print_int" (func $print.int (type $i32->void))) - - (; Type declarations ;) - (type $i32->i32->void (func (param i32 i32))) - (type $i32->void (func (param i32))) - (type $i32->i32 (func (param i32) (result i32))) - (type $void->void (func (param) (result))) - - (; Export two functions ;) - (export "main" (func $main)) - (export "fac" (func $fac)) - - (memory $mem 1) - (data (i32.const 0) "\nCalculating fac(5) ... ") - (func $fac (type $i32->i32) - (i32.gt_s - (local.get 0) - (i32.const 1)) - (if (result i32) - (then - (i32.sub - (local.get 0) - (i32.const 1)) - (call $fac) - (local.get 0) - i32.mul) - (else - (i32.const 1)))) - - (func $main (type $void->void) - (local $arg i32) - (local.set $arg (i32.const 5)) - (loop - (call $print.string (i32.const 0) (i32.const 24)) - (local.get $arg) - (call $fac) - (call $print.int) - (br 0))) -) +version https://git-lfs.github.com/spec/v1 +oid sha256:df173d415eb68bacfa2473a18fa6c52655baa6990d965b57649a65f1f3e53a6d +size 1101 diff --git a/tutorials/wat/main/multi_value.wat b/tutorials/wat/main/multi_value.wat index f599e15d7..d4d6dc11d 100644 --- a/tutorials/wat/main/multi_value.wat +++ b/tutorials/wat/main/multi_value.wat @@ -1,287 +1,3 @@ -(module - (import "env" "print_string" (func $print.string (param i32 i32))) - (import "env" "print_int" (func $print.int (param i32))) - - (memory $mem 1) - (export "memory" (memory $mem)) - - (data (i32.const 0) "Test 1: Basic swap\n") - (data (i32.const 20) "Test 2: Triple return\n") - (data (i32.const 43) "Test 3: Nested calls\n") - (data (i32.const 65) "Test 4: Block multi-value\n") - (data (i32.const 92) "Test 5: Loop multi-value\n") - (data (i32.const 118) "Test 6: If multi-value\n") - (data (i32.const 142) "Test 7: Branch with values\n") - (data (i32.const 170) "Result: ") - (data (i32.const 179) "Test 8: br_table multi-value\n") - (data (i32.const 208) "Test 9: Complex composition\n") - - ;; Test 1: two return values (swap) - (func $swap (param i32 i32) (result i32 i32) - (local.get 1) - (local.get 0) - ) - - (func $test_swap (export "test_swap") - (call $print.string (i32.const 0) (i32.const 19)) - - (i32.const 5) - (i32.const 10) - (call $swap) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - ;; Test 2: three return values - (func $triple (param i32) (result i32 i32 i32) - ;; returns (x, x+10, x+20) - (local.get 0) - (local.get 0) - (i32.const 10) - (i32.add) - (local.get 0) - (i32.const 20) - (i32.add) - ) - - (func $test_triple (export "test_triple") - (call $print.string (i32.const 20) (i32.const 22)) - - (i32.const 5) - (call $triple) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - ;; Test 3: nested multi-value calls - (func $add_pair (param i32 i32) (result i32) - (local.get 0) - (local.get 1) - (i32.add) - ) - - (func $test_nested (export "test_nested") - (call $print.string (i32.const 43) (i32.const 21)) - - (i32.const 3) - (i32.const 7) - (call $swap) - (call $add_pair) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - ;; Test 4: block with multi-value type - (func $test_block (export "test_block") - (call $print.string (i32.const 65) (i32.const 26)) - - (block (result i32 i32) - (i32.const 42) - (i32.const 99) - ) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - ;; Test 5: loop with multi-value - (func $test_loop (export "test_loop") - (local $counter i32) - (local $val1 i32) - (local $val2 i32) - (call $print.string (i32.const 92) (i32.const 25)) - - (i32.const 0) - (local.set $counter) - - (i32.const 10) - (local.set $val1) - (i32.const 20) - (local.set $val2) - - ;; loop that accumulates - (block $exit - (loop $continue - - (local.get $counter) - (i32.const 3) - (i32.ge_u) - (br_if $exit) - - ;; incr both values - (local.get $val1) - (i32.const 1) - (i32.add) - (local.set $val1) - - (local.get $val2) - (i32.const 2) - (i32.add) - (local.set $val2) - - ;; incr counter - (local.get $counter) - (i32.const 1) - (i32.add) - (local.set $counter) - - (br $continue) - ) - ) - - ;; get results from loop - (block (result i32 i32) - (local.get $val1) - (local.get $val2) - ) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - ;; Test 6: if/else with multi-value result - (func $test_if (export "test_if") (param i32) - (call $print.string (i32.const 118) (i32.const 23)) - - (local.get 0) - (if (result i32 i32) - (then - (i32.const 100) - (i32.const 200) - ) - (else - (i32.const 300) - (i32.const 400) - ) - ) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - ;; Test 7: branch with multi-value preversation - (func $test_branch (export "test_branch") (param i32) - (call $print.string (i32.const 142) (i32.const 27)) - - (block (result i32 i32) - (i32.const 10) - (i32.const 20) - - (local.get 0) - (br_if 0) - - ;; if we don't branch, we replace the values - (drop) - (drop) - (i32.const 30) - (i32.const 40) - ) - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - ;; Test 8: br_table with multi-value - (func $test_br_table (export "test_br_table") (param i32) - (local $result1 i32) - (local $result2 i32) - (call $print.string (i32.const 179) (i32.const 29)) - - (block (result i32 i32) - (block (result i32 i32) - (block (result i32 i32) - (i32.const 1) - (i32.const 2) - - (local.get 0) - (br_table 0 1 2 2) ;; this will branch to case 0, 1, or 2 based on input (with default to 2) - ) - ;; case 0 - (i32.const 10) - (i32.add) - (i32.const 10) - (i32.add) - (br 1) - ) - ;; case 1 - (i32.const 20) - (i32.add) - (i32.const 20) - (i32.add) - ) - ;; case 2 (and default) - (local.set $result2) - (local.set $result1) - - (call $print.string (i32.const 170) (i32.const 8)) - (local.get $result1) - (call $print.int) - (call $print.string (i32.const 170) (i32.const 8)) - (local.get $result2) - (call $print.int) - ) - - ;; Test 9: complex composition - (func $complex (param i32 i32) (result i32 i32 i32) - ;; returns (a+b, a-b, a*2) - (local.get 0) - (local.get 1) - (i32.add) - - (local.get 0) - (local.get 1) - (i32.sub) - - (local.get 0) - (i32.const 2) - (i32.mul) - ) - - (func $test_complex (export "test_complex") - (call $print.string (i32.const 208) (i32.const 28)) - (i32.const 10) - (i32.const 3) - (call $complex) - - (i32.add) ;; 20 + 7 = 27 - (i32.mul) ;; 27 * 13 = 351 - - (call $print.string (i32.const 170) (i32.const 8)) - (call $print.int) - ) - - - (func $main (export "main") - (call $test_swap) - (call $test_triple) - (call $test_nested) - (call $test_block) - (call $test_loop) - (call $test_if (i32.const 1)) - (call $test_if (i32.const 0)) - (call $test_branch (i32.const 1)) - (call $test_branch (i32.const 0)) - (call $test_br_table (i32.const 0)) - (call $test_br_table (i32.const 1)) - (call $test_br_table (i32.const 2)) - (call $test_complex) - ) -) \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:cc3cd7d851be06439d644be7ab4dfb704e41961ff72ff3b41cedb65472b69cf1 +size 6885