From 1bd4cd710468347a4da7ee076513b5184edaedf2 Mon Sep 17 00:00:00 2001 From: YiYing He Date: Fri, 6 May 2022 13:13:20 +0800 Subject: [PATCH] [Test] Add the threads tests. Please refer to this issue: https://github.com/WebAssembly/threads/issues/195 Signed-off-by: YiYing He --- README.md | 3 + threads/atomic/atomic.0.wasm | Bin 0 -> 2320 bytes threads/atomic/atomic.1.wasm | Bin 0 -> 177 bytes threads/atomic/atomic.10.wasm | Bin 0 -> 31 bytes threads/atomic/atomic.11.wasm | Bin 0 -> 31 bytes threads/atomic/atomic.12.wasm | Bin 0 -> 31 bytes threads/atomic/atomic.13.wasm | Bin 0 -> 32 bytes threads/atomic/atomic.14.wasm | Bin 0 -> 32 bytes threads/atomic/atomic.15.wasm | Bin 0 -> 32 bytes threads/atomic/atomic.16.wasm | Bin 0 -> 32 bytes threads/atomic/atomic.17.wasm | Bin 0 -> 32 bytes threads/atomic/atomic.18.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.19.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.2.wasm | Bin 0 -> 177 bytes threads/atomic/atomic.20.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.21.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.22.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.23.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.24.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.25.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.26.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.27.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.28.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.29.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.3.wasm | Bin 0 -> 650 bytes threads/atomic/atomic.30.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.31.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.32.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.33.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.34.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.35.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.36.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.37.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.38.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.39.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.4.wasm | Bin 0 -> 38 bytes threads/atomic/atomic.40.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.41.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.42.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.43.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.44.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.45.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.46.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.47.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.48.wasm | Bin 0 -> 35 bytes threads/atomic/atomic.49.wasm | Bin 0 -> 35 bytes threads/atomic/atomic.5.wasm | Bin 0 -> 33 bytes threads/atomic/atomic.50.wasm | Bin 0 -> 35 bytes threads/atomic/atomic.51.wasm | Bin 0 -> 35 bytes threads/atomic/atomic.52.wasm | Bin 0 -> 35 bytes threads/atomic/atomic.6.wasm | Bin 0 -> 35 bytes threads/atomic/atomic.7.wasm | Bin 0 -> 35 bytes threads/atomic/atomic.8.wasm | Bin 0 -> 31 bytes threads/atomic/atomic.9.wasm | Bin 0 -> 31 bytes threads/atomic/atomic.json | 329 +++++++++++++++ threads/atomic/atomic.wast | 611 +++++++++++++++++++++++++++ threads/exports/exports.0.wasm | Bin 0 -> 31 bytes threads/exports/exports.1.wasm | Bin 0 -> 35 bytes threads/exports/exports.10.wasm | Bin 0 -> 31 bytes threads/exports/exports.11.wasm | Bin 0 -> 39 bytes threads/exports/exports.12.wasm | Bin 0 -> 8 bytes threads/exports/exports.13.wasm | Bin 0 -> 8 bytes threads/exports/exports.14.wasm | Bin 0 -> 42 bytes threads/exports/exports.15.wasm | Bin 0 -> 15 bytes threads/exports/exports.16.wasm | Bin 0 -> 31 bytes threads/exports/exports.17.wasm | Bin 0 -> 46 bytes threads/exports/exports.18.wasm | Bin 0 -> 35 bytes threads/exports/exports.19.wasm | Bin 0 -> 39 bytes threads/exports/exports.2.wasm | Bin 0 -> 39 bytes threads/exports/exports.20.wasm | Bin 0 -> 43 bytes threads/exports/exports.21.wasm | Bin 0 -> 41 bytes threads/exports/exports.22.wasm | Bin 0 -> 40 bytes threads/exports/exports.23.wasm | Bin 0 -> 23 bytes threads/exports/exports.24.wasm | Bin 0 -> 27 bytes threads/exports/exports.25.wasm | Bin 0 -> 32 bytes threads/exports/exports.26.wasm | Bin 0 -> 23 bytes threads/exports/exports.27.wasm | Bin 0 -> 23 bytes threads/exports/exports.28.wasm | Bin 0 -> 23 bytes threads/exports/exports.29.wasm | Bin 0 -> 23 bytes threads/exports/exports.3.wasm | Bin 0 -> 31 bytes threads/exports/exports.30.wasm | Bin 0 -> 23 bytes threads/exports/exports.31.wasm | Bin 0 -> 23 bytes threads/exports/exports.32.wasm | Bin 0 -> 23 bytes threads/exports/exports.33.wasm | Bin 0 -> 8 bytes threads/exports/exports.34.wasm | Bin 0 -> 8 bytes threads/exports/exports.35.wasm | Bin 0 -> 15 bytes threads/exports/exports.36.wasm | Bin 0 -> 23 bytes threads/exports/exports.37.wasm | Bin 0 -> 41 bytes threads/exports/exports.38.wasm | Bin 0 -> 27 bytes threads/exports/exports.39.wasm | Bin 0 -> 32 bytes threads/exports/exports.4.wasm | Bin 0 -> 39 bytes threads/exports/exports.40.wasm | Bin 0 -> 43 bytes threads/exports/exports.41.wasm | Bin 0 -> 33 bytes threads/exports/exports.42.wasm | Bin 0 -> 32 bytes threads/exports/exports.43.wasm | Bin 0 -> 21 bytes threads/exports/exports.44.wasm | Bin 0 -> 25 bytes threads/exports/exports.45.wasm | Bin 0 -> 28 bytes threads/exports/exports.46.wasm | Bin 0 -> 21 bytes threads/exports/exports.47.wasm | Bin 0 -> 22 bytes threads/exports/exports.48.wasm | Bin 0 -> 21 bytes threads/exports/exports.49.wasm | Bin 0 -> 22 bytes threads/exports/exports.5.wasm | Bin 0 -> 36 bytes threads/exports/exports.50.wasm | Bin 0 -> 21 bytes threads/exports/exports.51.wasm | Bin 0 -> 22 bytes threads/exports/exports.52.wasm | Bin 0 -> 21 bytes threads/exports/exports.53.wasm | Bin 0 -> 22 bytes threads/exports/exports.54.wasm | Bin 0 -> 21 bytes threads/exports/exports.55.wasm | Bin 0 -> 22 bytes threads/exports/exports.56.wasm | Bin 0 -> 21 bytes threads/exports/exports.57.wasm | Bin 0 -> 22 bytes threads/exports/exports.58.wasm | Bin 0 -> 15 bytes threads/exports/exports.59.wasm | Bin 0 -> 21 bytes threads/exports/exports.6.wasm | Bin 0 -> 31 bytes threads/exports/exports.60.wasm | Bin 0 -> 38 bytes threads/exports/exports.61.wasm | Bin 0 -> 25 bytes threads/exports/exports.62.wasm | Bin 0 -> 28 bytes threads/exports/exports.63.wasm | Bin 0 -> 41 bytes threads/exports/exports.64.wasm | Bin 0 -> 33 bytes threads/exports/exports.65.wasm | Bin 0 -> 30 bytes threads/exports/exports.66.wasm | Bin 0 -> 20 bytes threads/exports/exports.67.wasm | Bin 0 -> 24 bytes threads/exports/exports.68.wasm | Bin 0 -> 20 bytes threads/exports/exports.69.wasm | Bin 0 -> 21 bytes threads/exports/exports.7.wasm | Bin 0 -> 31 bytes threads/exports/exports.70.wasm | Bin 0 -> 20 bytes threads/exports/exports.71.wasm | Bin 0 -> 21 bytes threads/exports/exports.72.wasm | Bin 0 -> 20 bytes threads/exports/exports.73.wasm | Bin 0 -> 21 bytes threads/exports/exports.74.wasm | Bin 0 -> 20 bytes threads/exports/exports.75.wasm | Bin 0 -> 21 bytes threads/exports/exports.76.wasm | Bin 0 -> 20 bytes threads/exports/exports.77.wasm | Bin 0 -> 21 bytes threads/exports/exports.78.wasm | Bin 0 -> 20 bytes threads/exports/exports.79.wasm | Bin 0 -> 21 bytes threads/exports/exports.8.wasm | Bin 0 -> 31 bytes threads/exports/exports.80.wasm | Bin 0 -> 21 bytes threads/exports/exports.81.wasm | Bin 0 -> 21 bytes threads/exports/exports.82.wasm | Bin 0 -> 21 bytes threads/exports/exports.83.wasm | Bin 0 -> 21 bytes threads/exports/exports.84.wasm | Bin 0 -> 21 bytes threads/exports/exports.85.wasm | Bin 0 -> 21 bytes threads/exports/exports.86.wasm | Bin 0 -> 15 bytes threads/exports/exports.87.wasm | Bin 0 -> 20 bytes threads/exports/exports.88.wasm | Bin 0 -> 38 bytes threads/exports/exports.89.wasm | Bin 0 -> 24 bytes threads/exports/exports.9.wasm | Bin 0 -> 31 bytes threads/exports/exports.90.wasm | Bin 0 -> 40 bytes threads/exports/exports.91.wasm | Bin 0 -> 32 bytes threads/exports/exports.92.wasm | Bin 0 -> 30 bytes threads/exports/exports.json | 104 +++++ threads/exports/exports.wast | 245 +++++++++++ threads/imports/imports.0.wasm | Bin 0 -> 298 bytes threads/imports/imports.1.wasm | Bin 0 -> 617 bytes threads/imports/imports.10.wasm | Bin 0 -> 40 bytes threads/imports/imports.100.wasm | Bin 0 -> 32 bytes threads/imports/imports.101.wasm | Bin 0 -> 32 bytes threads/imports/imports.102.wasm | Bin 0 -> 32 bytes threads/imports/imports.103.wasm | Bin 0 -> 30 bytes threads/imports/imports.104.wasm | Bin 0 -> 30 bytes threads/imports/imports.105.wasm | Bin 0 -> 31 bytes threads/imports/imports.106.wasm | Bin 0 -> 31 bytes threads/imports/imports.107.wasm | Bin 0 -> 31 bytes threads/imports/imports.108.wasm | Bin 0 -> 31 bytes threads/imports/imports.109.wasm | Bin 0 -> 27 bytes threads/imports/imports.11.wasm | Bin 0 -> 40 bytes threads/imports/imports.110.wasm | Bin 0 -> 31 bytes threads/imports/imports.111.wasm | Bin 0 -> 32 bytes threads/imports/imports.112.wasm | Bin 0 -> 33 bytes threads/imports/imports.113.wasm | Bin 0 -> 30 bytes threads/imports/imports.114.wasm | Bin 0 -> 31 bytes threads/imports/imports.115.wasm | Bin 0 -> 28 bytes threads/imports/imports.116.wasm | Bin 0 -> 30 bytes threads/imports/imports.117.wasm | Bin 0 -> 32 bytes threads/imports/imports.118.wasm | Bin 0 -> 33 bytes threads/imports/imports.119.wasm | Bin 0 -> 34 bytes threads/imports/imports.12.wasm | Bin 0 -> 32 bytes threads/imports/imports.120.wasm | Bin 0 -> 29 bytes threads/imports/imports.121.wasm | Bin 0 -> 30 bytes threads/imports/imports.122.wasm | Bin 0 -> 31 bytes threads/imports/imports.123.wasm | Bin 0 -> 63 bytes threads/imports/imports.124.wasm | Bin 0 -> 53 bytes threads/imports/imports.125.wasm | Bin 0 -> 74 bytes threads/imports/imports.126.wasm | Bin 0 -> 72 bytes threads/imports/imports.127.wasm | Bin 0 -> 38 bytes threads/imports/imports.128.wasm | Bin 0 -> 38 bytes threads/imports/imports.129.wasm | Bin 0 -> 31 bytes threads/imports/imports.13.wasm | Bin 0 -> 36 bytes threads/imports/imports.130.wat | 1 + threads/imports/imports.131.wat | 1 + threads/imports/imports.132.wat | 1 + threads/imports/imports.133.wat | 1 + threads/imports/imports.134.wat | 1 + threads/imports/imports.135.wat | 1 + threads/imports/imports.136.wat | 1 + threads/imports/imports.137.wat | 1 + threads/imports/imports.138.wat | 1 + threads/imports/imports.139.wat | 1 + threads/imports/imports.14.wasm | Bin 0 -> 30 bytes threads/imports/imports.140.wat | 1 + threads/imports/imports.141.wat | 1 + threads/imports/imports.142.wat | 1 + threads/imports/imports.143.wat | 1 + threads/imports/imports.144.wat | 1 + threads/imports/imports.145.wat | 1 + threads/imports/imports.146.wasm | Bin 0 -> 8 bytes threads/imports/imports.147.wasm | Bin 0 -> 414 bytes threads/imports/imports.15.wasm | Bin 0 -> 30 bytes threads/imports/imports.16.wasm | Bin 0 -> 31 bytes threads/imports/imports.17.wasm | Bin 0 -> 33 bytes threads/imports/imports.18.wasm | Bin 0 -> 34 bytes threads/imports/imports.19.wasm | Bin 0 -> 34 bytes threads/imports/imports.2.wasm | Bin 0 -> 30 bytes threads/imports/imports.20.wasm | Bin 0 -> 34 bytes threads/imports/imports.21.wasm | Bin 0 -> 35 bytes threads/imports/imports.22.wasm | Bin 0 -> 34 bytes threads/imports/imports.23.wasm | Bin 0 -> 35 bytes threads/imports/imports.24.wasm | Bin 0 -> 35 bytes threads/imports/imports.25.wasm | Bin 0 -> 35 bytes threads/imports/imports.26.wasm | Bin 0 -> 36 bytes threads/imports/imports.27.wasm | Bin 0 -> 38 bytes threads/imports/imports.28.wasm | Bin 0 -> 39 bytes threads/imports/imports.29.wasm | Bin 0 -> 39 bytes threads/imports/imports.3.wasm | Bin 0 -> 68 bytes threads/imports/imports.30.wasm | Bin 0 -> 36 bytes threads/imports/imports.31.wasm | Bin 0 -> 37 bytes threads/imports/imports.32.wasm | Bin 0 -> 37 bytes threads/imports/imports.33.wasm | Bin 0 -> 39 bytes threads/imports/imports.34.wasm | Bin 0 -> 34 bytes threads/imports/imports.35.wasm | Bin 0 -> 35 bytes threads/imports/imports.36.wasm | Bin 0 -> 245 bytes threads/imports/imports.37.wasm | Bin 0 -> 30 bytes threads/imports/imports.38.wasm | Bin 0 -> 30 bytes threads/imports/imports.39.wasm | Bin 0 -> 34 bytes threads/imports/imports.4.wasm | Bin 0 -> 75 bytes threads/imports/imports.40.wasm | Bin 0 -> 27 bytes threads/imports/imports.41.wasm | Bin 0 -> 31 bytes threads/imports/imports.42.wasm | Bin 0 -> 30 bytes threads/imports/imports.43.wasm | Bin 0 -> 30 bytes threads/imports/imports.44.wasm | Bin 0 -> 30 bytes threads/imports/imports.45.wasm | Bin 0 -> 30 bytes threads/imports/imports.46.wasm | Bin 0 -> 30 bytes threads/imports/imports.47.wasm | Bin 0 -> 30 bytes threads/imports/imports.48.wasm | Bin 0 -> 30 bytes threads/imports/imports.49.wasm | Bin 0 -> 30 bytes threads/imports/imports.5.wasm | Bin 0 -> 29 bytes threads/imports/imports.50.wasm | Bin 0 -> 34 bytes threads/imports/imports.51.wasm | Bin 0 -> 34 bytes threads/imports/imports.52.wasm | Bin 0 -> 34 bytes threads/imports/imports.53.wasm | Bin 0 -> 34 bytes threads/imports/imports.54.wasm | Bin 0 -> 24 bytes threads/imports/imports.55.wasm | Bin 0 -> 32 bytes threads/imports/imports.56.wasm | Bin 0 -> 32 bytes threads/imports/imports.57.wasm | Bin 0 -> 33 bytes threads/imports/imports.58.wasm | Bin 0 -> 29 bytes threads/imports/imports.59.wasm | Bin 0 -> 30 bytes threads/imports/imports.6.wasm | Bin 0 -> 34 bytes threads/imports/imports.60.wasm | Bin 0 -> 90 bytes threads/imports/imports.61.wasm | Bin 0 -> 90 bytes threads/imports/imports.62.wasm | Bin 0 -> 58 bytes threads/imports/imports.63.wasm | Bin 0 -> 33 bytes threads/imports/imports.64.wasm | Bin 0 -> 33 bytes threads/imports/imports.65.wasm | Bin 0 -> 33 bytes threads/imports/imports.66.wasm | Bin 0 -> 32 bytes threads/imports/imports.67.wasm | Bin 0 -> 32 bytes threads/imports/imports.68.wasm | Bin 0 -> 32 bytes threads/imports/imports.69.wasm | Bin 0 -> 33 bytes threads/imports/imports.7.wasm | Bin 0 -> 34 bytes threads/imports/imports.70.wasm | Bin 0 -> 33 bytes threads/imports/imports.71.wasm | Bin 0 -> 33 bytes threads/imports/imports.72.wasm | Bin 0 -> 33 bytes threads/imports/imports.73.wasm | Bin 0 -> 33 bytes threads/imports/imports.74.wasm | Bin 0 -> 33 bytes threads/imports/imports.75.wasm | Bin 0 -> 30 bytes threads/imports/imports.76.wasm | Bin 0 -> 30 bytes threads/imports/imports.77.wasm | Bin 0 -> 30 bytes threads/imports/imports.78.wasm | Bin 0 -> 31 bytes threads/imports/imports.79.wasm | Bin 0 -> 31 bytes threads/imports/imports.8.wasm | Bin 0 -> 35 bytes threads/imports/imports.80.wasm | Bin 0 -> 31 bytes threads/imports/imports.81.wasm | Bin 0 -> 31 bytes threads/imports/imports.82.wasm | Bin 0 -> 31 bytes threads/imports/imports.83.wasm | Bin 0 -> 28 bytes threads/imports/imports.84.wasm | Bin 0 -> 32 bytes threads/imports/imports.85.wasm | Bin 0 -> 33 bytes threads/imports/imports.86.wasm | Bin 0 -> 34 bytes threads/imports/imports.87.wasm | Bin 0 -> 33 bytes threads/imports/imports.88.wasm | Bin 0 -> 33 bytes threads/imports/imports.89.wasm | Bin 0 -> 30 bytes threads/imports/imports.9.wasm | Bin 0 -> 35 bytes threads/imports/imports.90.wasm | Bin 0 -> 31 bytes threads/imports/imports.91.wasm | Bin 0 -> 25 bytes threads/imports/imports.92.wasm | Bin 0 -> 31 bytes threads/imports/imports.93.wasm | Bin 0 -> 33 bytes threads/imports/imports.94.wasm | Bin 0 -> 34 bytes threads/imports/imports.95.wasm | Bin 0 -> 73 bytes threads/imports/imports.96.wasm | Bin 0 -> 73 bytes threads/imports/imports.97.wasm | Bin 0 -> 21 bytes threads/imports/imports.98.wasm | Bin 0 -> 21 bytes threads/imports/imports.99.wasm | Bin 0 -> 15 bytes threads/imports/imports.json | 188 +++++++++ threads/imports/imports.wast | 704 +++++++++++++++++++++++++++++++ threads/memory/memory.0.wasm | Bin 0 -> 13 bytes threads/memory/memory.1.wasm | Bin 0 -> 13 bytes threads/memory/memory.10.wasm | Bin 0 -> 35 bytes threads/memory/memory.11.wasm | Bin 0 -> 54 bytes threads/memory/memory.12.wasm | Bin 0 -> 54 bytes threads/memory/memory.13.wasm | Bin 0 -> 55 bytes threads/memory/memory.14.wasm | Bin 0 -> 16 bytes threads/memory/memory.15.wasm | Bin 0 -> 16 bytes threads/memory/memory.16.wasm | Bin 0 -> 17 bytes threads/memory/memory.17.wasm | Bin 0 -> 30 bytes threads/memory/memory.18.wasm | Bin 0 -> 34 bytes threads/memory/memory.19.wasm | Bin 0 -> 30 bytes threads/memory/memory.2.wasm | Bin 0 -> 14 bytes threads/memory/memory.20.wasm | Bin 0 -> 31 bytes threads/memory/memory.21.wasm | Bin 0 -> 27 bytes threads/memory/memory.22.wasm | Bin 0 -> 29 bytes threads/memory/memory.23.wasm | Bin 0 -> 14 bytes threads/memory/memory.24.wasm | Bin 0 -> 15 bytes threads/memory/memory.25.wasm | Bin 0 -> 17 bytes threads/memory/memory.26.wasm | Bin 0 -> 17 bytes threads/memory/memory.27.wasm | Bin 0 -> 16 bytes threads/memory/memory.28.wasm | Bin 0 -> 18 bytes threads/memory/memory.29.wasm | Bin 0 -> 18 bytes threads/memory/memory.3.wasm | Bin 0 -> 14 bytes threads/memory/memory.30.wat | 1 + threads/memory/memory.31.wat | 1 + threads/memory/memory.32.wat | 1 + threads/memory/memory.33.wasm | Bin 0 -> 525 bytes threads/memory/memory.34.wat | 1 + threads/memory/memory.35.wat | 1 + threads/memory/memory.36.wat | 1 + threads/memory/memory.4.wasm | Bin 0 -> 15 bytes threads/memory/memory.5.wasm | Bin 0 -> 16 bytes threads/memory/memory.6.wasm | Bin 0 -> 14 bytes threads/memory/memory.7.wasm | Bin 0 -> 14 bytes threads/memory/memory.8.wasm | Bin 0 -> 13 bytes threads/memory/memory.9.wasm | Bin 0 -> 15 bytes threads/memory/memory.json | 84 ++++ threads/memory/memory.wast | 246 +++++++++++ 340 files changed, 2536 insertions(+) create mode 100644 threads/atomic/atomic.0.wasm create mode 100644 threads/atomic/atomic.1.wasm create mode 100644 threads/atomic/atomic.10.wasm create mode 100644 threads/atomic/atomic.11.wasm create mode 100644 threads/atomic/atomic.12.wasm create mode 100644 threads/atomic/atomic.13.wasm create mode 100644 threads/atomic/atomic.14.wasm create mode 100644 threads/atomic/atomic.15.wasm create mode 100644 threads/atomic/atomic.16.wasm create mode 100644 threads/atomic/atomic.17.wasm create mode 100644 threads/atomic/atomic.18.wasm create mode 100644 threads/atomic/atomic.19.wasm create mode 100644 threads/atomic/atomic.2.wasm create mode 100644 threads/atomic/atomic.20.wasm create mode 100644 threads/atomic/atomic.21.wasm create mode 100644 threads/atomic/atomic.22.wasm create mode 100644 threads/atomic/atomic.23.wasm create mode 100644 threads/atomic/atomic.24.wasm create mode 100644 threads/atomic/atomic.25.wasm create mode 100644 threads/atomic/atomic.26.wasm create mode 100644 threads/atomic/atomic.27.wasm create mode 100644 threads/atomic/atomic.28.wasm create mode 100644 threads/atomic/atomic.29.wasm create mode 100644 threads/atomic/atomic.3.wasm create mode 100644 threads/atomic/atomic.30.wasm create mode 100644 threads/atomic/atomic.31.wasm create mode 100644 threads/atomic/atomic.32.wasm create mode 100644 threads/atomic/atomic.33.wasm create mode 100644 threads/atomic/atomic.34.wasm create mode 100644 threads/atomic/atomic.35.wasm create mode 100644 threads/atomic/atomic.36.wasm create mode 100644 threads/atomic/atomic.37.wasm create mode 100644 threads/atomic/atomic.38.wasm create mode 100644 threads/atomic/atomic.39.wasm create mode 100644 threads/atomic/atomic.4.wasm create mode 100644 threads/atomic/atomic.40.wasm create mode 100644 threads/atomic/atomic.41.wasm create mode 100644 threads/atomic/atomic.42.wasm create mode 100644 threads/atomic/atomic.43.wasm create mode 100644 threads/atomic/atomic.44.wasm create mode 100644 threads/atomic/atomic.45.wasm create mode 100644 threads/atomic/atomic.46.wasm create mode 100644 threads/atomic/atomic.47.wasm create mode 100644 threads/atomic/atomic.48.wasm create mode 100644 threads/atomic/atomic.49.wasm create mode 100644 threads/atomic/atomic.5.wasm create mode 100644 threads/atomic/atomic.50.wasm create mode 100644 threads/atomic/atomic.51.wasm create mode 100644 threads/atomic/atomic.52.wasm create mode 100644 threads/atomic/atomic.6.wasm create mode 100644 threads/atomic/atomic.7.wasm create mode 100644 threads/atomic/atomic.8.wasm create mode 100644 threads/atomic/atomic.9.wasm create mode 100644 threads/atomic/atomic.json create mode 100644 threads/atomic/atomic.wast create mode 100644 threads/exports/exports.0.wasm create mode 100644 threads/exports/exports.1.wasm create mode 100644 threads/exports/exports.10.wasm create mode 100644 threads/exports/exports.11.wasm create mode 100644 threads/exports/exports.12.wasm create mode 100644 threads/exports/exports.13.wasm create mode 100644 threads/exports/exports.14.wasm create mode 100644 threads/exports/exports.15.wasm create mode 100644 threads/exports/exports.16.wasm create mode 100644 threads/exports/exports.17.wasm create mode 100644 threads/exports/exports.18.wasm create mode 100644 threads/exports/exports.19.wasm create mode 100644 threads/exports/exports.2.wasm create mode 100644 threads/exports/exports.20.wasm create mode 100644 threads/exports/exports.21.wasm create mode 100644 threads/exports/exports.22.wasm create mode 100644 threads/exports/exports.23.wasm create mode 100644 threads/exports/exports.24.wasm create mode 100644 threads/exports/exports.25.wasm create mode 100644 threads/exports/exports.26.wasm create mode 100644 threads/exports/exports.27.wasm create mode 100644 threads/exports/exports.28.wasm create mode 100644 threads/exports/exports.29.wasm create mode 100644 threads/exports/exports.3.wasm create mode 100644 threads/exports/exports.30.wasm create mode 100644 threads/exports/exports.31.wasm create mode 100644 threads/exports/exports.32.wasm create mode 100644 threads/exports/exports.33.wasm create mode 100644 threads/exports/exports.34.wasm create mode 100644 threads/exports/exports.35.wasm create mode 100644 threads/exports/exports.36.wasm create mode 100644 threads/exports/exports.37.wasm create mode 100644 threads/exports/exports.38.wasm create mode 100644 threads/exports/exports.39.wasm create mode 100644 threads/exports/exports.4.wasm create mode 100644 threads/exports/exports.40.wasm create mode 100644 threads/exports/exports.41.wasm create mode 100644 threads/exports/exports.42.wasm create mode 100644 threads/exports/exports.43.wasm create mode 100644 threads/exports/exports.44.wasm create mode 100644 threads/exports/exports.45.wasm create mode 100644 threads/exports/exports.46.wasm create mode 100644 threads/exports/exports.47.wasm create mode 100644 threads/exports/exports.48.wasm create mode 100644 threads/exports/exports.49.wasm create mode 100644 threads/exports/exports.5.wasm create mode 100644 threads/exports/exports.50.wasm create mode 100644 threads/exports/exports.51.wasm create mode 100644 threads/exports/exports.52.wasm create mode 100644 threads/exports/exports.53.wasm create mode 100644 threads/exports/exports.54.wasm create mode 100644 threads/exports/exports.55.wasm create mode 100644 threads/exports/exports.56.wasm create mode 100644 threads/exports/exports.57.wasm create mode 100644 threads/exports/exports.58.wasm create mode 100644 threads/exports/exports.59.wasm create mode 100644 threads/exports/exports.6.wasm create mode 100644 threads/exports/exports.60.wasm create mode 100644 threads/exports/exports.61.wasm create mode 100644 threads/exports/exports.62.wasm create mode 100644 threads/exports/exports.63.wasm create mode 100644 threads/exports/exports.64.wasm create mode 100644 threads/exports/exports.65.wasm create mode 100644 threads/exports/exports.66.wasm create mode 100644 threads/exports/exports.67.wasm create mode 100644 threads/exports/exports.68.wasm create mode 100644 threads/exports/exports.69.wasm create mode 100644 threads/exports/exports.7.wasm create mode 100644 threads/exports/exports.70.wasm create mode 100644 threads/exports/exports.71.wasm create mode 100644 threads/exports/exports.72.wasm create mode 100644 threads/exports/exports.73.wasm create mode 100644 threads/exports/exports.74.wasm create mode 100644 threads/exports/exports.75.wasm create mode 100644 threads/exports/exports.76.wasm create mode 100644 threads/exports/exports.77.wasm create mode 100644 threads/exports/exports.78.wasm create mode 100644 threads/exports/exports.79.wasm create mode 100644 threads/exports/exports.8.wasm create mode 100644 threads/exports/exports.80.wasm create mode 100644 threads/exports/exports.81.wasm create mode 100644 threads/exports/exports.82.wasm create mode 100644 threads/exports/exports.83.wasm create mode 100644 threads/exports/exports.84.wasm create mode 100644 threads/exports/exports.85.wasm create mode 100644 threads/exports/exports.86.wasm create mode 100644 threads/exports/exports.87.wasm create mode 100644 threads/exports/exports.88.wasm create mode 100644 threads/exports/exports.89.wasm create mode 100644 threads/exports/exports.9.wasm create mode 100644 threads/exports/exports.90.wasm create mode 100644 threads/exports/exports.91.wasm create mode 100644 threads/exports/exports.92.wasm create mode 100644 threads/exports/exports.json create mode 100644 threads/exports/exports.wast create mode 100644 threads/imports/imports.0.wasm create mode 100644 threads/imports/imports.1.wasm create mode 100644 threads/imports/imports.10.wasm create mode 100644 threads/imports/imports.100.wasm create mode 100644 threads/imports/imports.101.wasm create mode 100644 threads/imports/imports.102.wasm create mode 100644 threads/imports/imports.103.wasm create mode 100644 threads/imports/imports.104.wasm create mode 100644 threads/imports/imports.105.wasm create mode 100644 threads/imports/imports.106.wasm create mode 100644 threads/imports/imports.107.wasm create mode 100644 threads/imports/imports.108.wasm create mode 100644 threads/imports/imports.109.wasm create mode 100644 threads/imports/imports.11.wasm create mode 100644 threads/imports/imports.110.wasm create mode 100644 threads/imports/imports.111.wasm create mode 100644 threads/imports/imports.112.wasm create mode 100644 threads/imports/imports.113.wasm create mode 100644 threads/imports/imports.114.wasm create mode 100644 threads/imports/imports.115.wasm create mode 100644 threads/imports/imports.116.wasm create mode 100644 threads/imports/imports.117.wasm create mode 100644 threads/imports/imports.118.wasm create mode 100644 threads/imports/imports.119.wasm create mode 100644 threads/imports/imports.12.wasm create mode 100644 threads/imports/imports.120.wasm create mode 100644 threads/imports/imports.121.wasm create mode 100644 threads/imports/imports.122.wasm create mode 100644 threads/imports/imports.123.wasm create mode 100644 threads/imports/imports.124.wasm create mode 100644 threads/imports/imports.125.wasm create mode 100644 threads/imports/imports.126.wasm create mode 100644 threads/imports/imports.127.wasm create mode 100644 threads/imports/imports.128.wasm create mode 100644 threads/imports/imports.129.wasm create mode 100644 threads/imports/imports.13.wasm create mode 100644 threads/imports/imports.130.wat create mode 100644 threads/imports/imports.131.wat create mode 100644 threads/imports/imports.132.wat create mode 100644 threads/imports/imports.133.wat create mode 100644 threads/imports/imports.134.wat create mode 100644 threads/imports/imports.135.wat create mode 100644 threads/imports/imports.136.wat create mode 100644 threads/imports/imports.137.wat create mode 100644 threads/imports/imports.138.wat create mode 100644 threads/imports/imports.139.wat create mode 100644 threads/imports/imports.14.wasm create mode 100644 threads/imports/imports.140.wat create mode 100644 threads/imports/imports.141.wat create mode 100644 threads/imports/imports.142.wat create mode 100644 threads/imports/imports.143.wat create mode 100644 threads/imports/imports.144.wat create mode 100644 threads/imports/imports.145.wat create mode 100644 threads/imports/imports.146.wasm create mode 100644 threads/imports/imports.147.wasm create mode 100644 threads/imports/imports.15.wasm create mode 100644 threads/imports/imports.16.wasm create mode 100644 threads/imports/imports.17.wasm create mode 100644 threads/imports/imports.18.wasm create mode 100644 threads/imports/imports.19.wasm create mode 100644 threads/imports/imports.2.wasm create mode 100644 threads/imports/imports.20.wasm create mode 100644 threads/imports/imports.21.wasm create mode 100644 threads/imports/imports.22.wasm create mode 100644 threads/imports/imports.23.wasm create mode 100644 threads/imports/imports.24.wasm create mode 100644 threads/imports/imports.25.wasm create mode 100644 threads/imports/imports.26.wasm create mode 100644 threads/imports/imports.27.wasm create mode 100644 threads/imports/imports.28.wasm create mode 100644 threads/imports/imports.29.wasm create mode 100644 threads/imports/imports.3.wasm create mode 100644 threads/imports/imports.30.wasm create mode 100644 threads/imports/imports.31.wasm create mode 100644 threads/imports/imports.32.wasm create mode 100644 threads/imports/imports.33.wasm create mode 100644 threads/imports/imports.34.wasm create mode 100644 threads/imports/imports.35.wasm create mode 100644 threads/imports/imports.36.wasm create mode 100644 threads/imports/imports.37.wasm create mode 100644 threads/imports/imports.38.wasm create mode 100644 threads/imports/imports.39.wasm create mode 100644 threads/imports/imports.4.wasm create mode 100644 threads/imports/imports.40.wasm create mode 100644 threads/imports/imports.41.wasm create mode 100644 threads/imports/imports.42.wasm create mode 100644 threads/imports/imports.43.wasm create mode 100644 threads/imports/imports.44.wasm create mode 100644 threads/imports/imports.45.wasm create mode 100644 threads/imports/imports.46.wasm create mode 100644 threads/imports/imports.47.wasm create mode 100644 threads/imports/imports.48.wasm create mode 100644 threads/imports/imports.49.wasm create mode 100644 threads/imports/imports.5.wasm create mode 100644 threads/imports/imports.50.wasm create mode 100644 threads/imports/imports.51.wasm create mode 100644 threads/imports/imports.52.wasm create mode 100644 threads/imports/imports.53.wasm create mode 100644 threads/imports/imports.54.wasm create mode 100644 threads/imports/imports.55.wasm create mode 100644 threads/imports/imports.56.wasm create mode 100644 threads/imports/imports.57.wasm create mode 100644 threads/imports/imports.58.wasm create mode 100644 threads/imports/imports.59.wasm create mode 100644 threads/imports/imports.6.wasm create mode 100644 threads/imports/imports.60.wasm create mode 100644 threads/imports/imports.61.wasm create mode 100644 threads/imports/imports.62.wasm create mode 100644 threads/imports/imports.63.wasm create mode 100644 threads/imports/imports.64.wasm create mode 100644 threads/imports/imports.65.wasm create mode 100644 threads/imports/imports.66.wasm create mode 100644 threads/imports/imports.67.wasm create mode 100644 threads/imports/imports.68.wasm create mode 100644 threads/imports/imports.69.wasm create mode 100644 threads/imports/imports.7.wasm create mode 100644 threads/imports/imports.70.wasm create mode 100644 threads/imports/imports.71.wasm create mode 100644 threads/imports/imports.72.wasm create mode 100644 threads/imports/imports.73.wasm create mode 100644 threads/imports/imports.74.wasm create mode 100644 threads/imports/imports.75.wasm create mode 100644 threads/imports/imports.76.wasm create mode 100644 threads/imports/imports.77.wasm create mode 100644 threads/imports/imports.78.wasm create mode 100644 threads/imports/imports.79.wasm create mode 100644 threads/imports/imports.8.wasm create mode 100644 threads/imports/imports.80.wasm create mode 100644 threads/imports/imports.81.wasm create mode 100644 threads/imports/imports.82.wasm create mode 100644 threads/imports/imports.83.wasm create mode 100644 threads/imports/imports.84.wasm create mode 100644 threads/imports/imports.85.wasm create mode 100644 threads/imports/imports.86.wasm create mode 100644 threads/imports/imports.87.wasm create mode 100644 threads/imports/imports.88.wasm create mode 100644 threads/imports/imports.89.wasm create mode 100644 threads/imports/imports.9.wasm create mode 100644 threads/imports/imports.90.wasm create mode 100644 threads/imports/imports.91.wasm create mode 100644 threads/imports/imports.92.wasm create mode 100644 threads/imports/imports.93.wasm create mode 100644 threads/imports/imports.94.wasm create mode 100644 threads/imports/imports.95.wasm create mode 100644 threads/imports/imports.96.wasm create mode 100644 threads/imports/imports.97.wasm create mode 100644 threads/imports/imports.98.wasm create mode 100644 threads/imports/imports.99.wasm create mode 100644 threads/imports/imports.json create mode 100644 threads/imports/imports.wast create mode 100644 threads/memory/memory.0.wasm create mode 100644 threads/memory/memory.1.wasm create mode 100644 threads/memory/memory.10.wasm create mode 100644 threads/memory/memory.11.wasm create mode 100644 threads/memory/memory.12.wasm create mode 100644 threads/memory/memory.13.wasm create mode 100644 threads/memory/memory.14.wasm create mode 100644 threads/memory/memory.15.wasm create mode 100644 threads/memory/memory.16.wasm create mode 100644 threads/memory/memory.17.wasm create mode 100644 threads/memory/memory.18.wasm create mode 100644 threads/memory/memory.19.wasm create mode 100644 threads/memory/memory.2.wasm create mode 100644 threads/memory/memory.20.wasm create mode 100644 threads/memory/memory.21.wasm create mode 100644 threads/memory/memory.22.wasm create mode 100644 threads/memory/memory.23.wasm create mode 100644 threads/memory/memory.24.wasm create mode 100644 threads/memory/memory.25.wasm create mode 100644 threads/memory/memory.26.wasm create mode 100644 threads/memory/memory.27.wasm create mode 100644 threads/memory/memory.28.wasm create mode 100644 threads/memory/memory.29.wasm create mode 100644 threads/memory/memory.3.wasm create mode 100644 threads/memory/memory.30.wat create mode 100644 threads/memory/memory.31.wat create mode 100644 threads/memory/memory.32.wat create mode 100644 threads/memory/memory.33.wasm create mode 100644 threads/memory/memory.34.wat create mode 100644 threads/memory/memory.35.wat create mode 100644 threads/memory/memory.36.wat create mode 100644 threads/memory/memory.4.wasm create mode 100644 threads/memory/memory.5.wasm create mode 100644 threads/memory/memory.6.wasm create mode 100644 threads/memory/memory.7.wasm create mode 100644 threads/memory/memory.8.wasm create mode 100644 threads/memory/memory.9.wasm create mode 100644 threads/memory/memory.json create mode 100644 threads/memory/memory.wast diff --git a/README.md b/README.md index e839f73d..f5c8b912 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,9 @@ * `core/select/select.wast` line 325: `invalid result arity` -> `type mismatch` * This error message is for the WAT format, WASM format cannot detect this error by the bytecode. +* `threads/atomic/atomic.wast`: divergence behavior + * Please check [this issue](https://github.com/WebAssembly/threads/issues/195). + * Modified the `wast` file for fitting the `compare_exchange_strong` behavior in C++. ## Branches And Tags diff --git a/threads/atomic/atomic.0.wasm b/threads/atomic/atomic.0.wasm new file mode 100644 index 0000000000000000000000000000000000000000..5ce3e49df0e10df646aaa929798a544bf2f33342 GIT binary patch literal 2320 zcma)+SyLKO5QY2B467!xBe>zdj{=J04rX8fLL`t%s0xw-toS5Miw9*f1}@rWUGA!2{0nnv%gHwKvL)oW&ZJm~j2=FdU93u30% zI0_Ig!*;AM_n>DPtTvDu8D^HNkt~DuYLwG@4R>QHC3Z9(48K7fLyigZt=UK9dCAfJS19n35*9-xkz&c&a7jlfg-SZS%(`GnN0?&*mUM)9Ub21H zg#}(x!o^TYq*!t(T+$ILp^^??W?ke>+DR)+kT+=ytLnE(zS+SL*3>VM%hq$jmulf6 zHr!y%@j#nz=7O)(UEgB8z4dLzv7Q~X!>{lG>+SL@lyHv~u}q{`a6f#7j$pDQJ;MRJ zDXi!i4w--*9igiJSCH5B(E0HlYU-c5PwT7>o{G!Z^QaiSUwN#f9J6zMOQRUPW3rqu zMOJmfEOx%x>Ho6pp0ZPX;j9!aW_b#hJ}(C~Y~bdhcu@-0Q;nD9pcXJ*F%jES>UHu@ zq?v#gRNzF1sW^T()nPfX4+ab{^(HbSx zX*{B^W3n~Kc0$x5dP)grG@et~1=%jic184>Xp<6JG~Q6y3$nc=+bg24iN3*vY5S{D e(VpI_5AQJ0SKg!9fB1lQ|KX#md{ULqnD!60=tutm literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.1.wasm b/threads/atomic/atomic.1.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4c6ed8f9311aeedd29df1ff5e2b0d36e5dab5390 GIT binary patch literal 177 zcmZvSu?oU47=-WsM5L{wi(8(ch>FfWfbWnX3K`OX21=LY&5NOvh|7I<9|!ji1i+oP z%&<}li&drM1-U}4G$=Kx$n{NYKllV}!z0Ak)VmaezxP8-{yBj^dUQS=50F3le1dBC Zy1^9&7lp2^G@K#mHcK@!^Lt1=eE{JuC$j(m literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.10.wasm b/threads/atomic/atomic.10.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8c122dd08b73012c5a02f2ed2ab048854cef9fe9 GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=u;NoWFWN>8oC(Oto#SH*9`U6G) literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.11.wasm b/threads/atomic/atomic.11.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7081ba0a6700fe57aa177e924a55d38500df27a2 GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=u;NoWFWN>8oC(6hm#SH*A1OrF_ literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.12.wasm b/threads/atomic/atomic.12.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4a24ec9659e3be9c9ba6c729071fc5cbdfc3e4f8 GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=u;NoWFWN>8oC&t7e#SH*A4FgI5 literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.13.wasm b/threads/atomic/atomic.13.wasm new file mode 100644 index 0000000000000000000000000000000000000000..87499e473951944d105dc8ef822ec4f249d2386f GIT binary patch literal 32 lcmZQbEY4+QU|?WmVN76PU}j=u;NoHAVsHe)f8tCG+yFVX19SiY literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.14.wasm b/threads/atomic/atomic.14.wasm new file mode 100644 index 0000000000000000000000000000000000000000..59de30c1da198f76c89b94dd1539544027cf236f GIT binary patch literal 32 ncmZQbEY4+QU|?WmVN76PU}j=u;NoHAVsK<|V)!S)%)ku*Il}{Y literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.15.wasm b/threads/atomic/atomic.15.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ca6148feb46cd528909779d692dc00393865d61b GIT binary patch literal 32 lcmZQbEY4+QU|?WmVN76PU}j=u;NoHAVsHe)e^QJL+yFVg19kua literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.16.wasm b/threads/atomic/atomic.16.wasm new file mode 100644 index 0000000000000000000000000000000000000000..698d39a2a2b044756224cb23f7eec11fb429ad9d GIT binary patch literal 32 ncmZQbEY4+QU|?WmVN76PU}j=u;NoHAVsK<|V)!S+$iNK%In4uk literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.17.wasm b/threads/atomic/atomic.17.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4485889b9a5ad96aff92bf31471766ec065d025c GIT binary patch literal 32 ncmZQbEY4+QU|?WmVN76PU}j=u;NoHAVsK<|V)!S^#J~*zIn)Dt literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.18.wasm b/threads/atomic/atomic.18.wasm new file mode 100644 index 0000000000000000000000000000000000000000..956d9d5a1113049b03f4ca060fd0736222e71667 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;e{xI=QrrMNj{}zg literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.19.wasm b/threads/atomic/atomic.19.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3437ea6d56fbb1326d664ab9cc0063c958d1da65 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)!S|%pk=L06m}sng9R* literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.2.wasm b/threads/atomic/atomic.2.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d1b9f64bc06a98e5b43cf720a83eae9ddfc0c433 GIT binary patch literal 177 zcmZvSK?=e!6h!C$e37;;-MGsMim2$?19*o7QOF_rn;8cF9SH#K z#8H7`RZ?eE%Yss2Rs!PcRJFc|gdt>L8y_*frrzfi!@VC;4$lenGmk#x;{p6o&W#< literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.23.wasm b/threads/atomic/atomic.23.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c66d14560c55e9be7b0fdcb35c638a3213aff29a GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;f2vFjQrrMNvICv~ literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.24.wasm b/threads/atomic/atomic.24.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b41de2638647c9209638d8c4582452be10ca5a37 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)&=V%pk=L06oJ4p#T5? literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.25.wasm b/threads/atomic/atomic.25.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b9a01a2cffa05d3c8613921f4857e5caf1538986 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;e;SMoQrrMNy#t^C literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.26.wasm b/threads/atomic/atomic.26.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7d5142a8acef568669c62fb32da1d2327d55f98e GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)&=U$RNcH06otGqW}N^ literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.27.wasm b/threads/atomic/atomic.27.wasm new file mode 100644 index 0000000000000000000000000000000000000000..56056fb5b1ddd7d8ccdcb8a2003fe3776b908d85 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)&=c#302D06o|Pr2qf` literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.28.wasm b/threads/atomic/atomic.28.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b6a5974c496caf1f044545077b05933f4629a1a GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;e>zMIQrrMN)dQsf literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.29.wasm b/threads/atomic/atomic.29.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a70eaf3d28f9cae9ababa4c92413f3b336b11920 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)&=a%pk=L06pddr~m)} literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.3.wasm b/threads/atomic/atomic.3.wasm new file mode 100644 index 0000000000000000000000000000000000000000..35330163d2f08ace9866f5d1ec9d0d99344428c1 GIT binary patch literal 650 zcmb7>+iJo<5Qb-yc+rSp5o-w^C>{{2m{buDh&6~-M4v$)z$;(SCzJlO$)w|DH#gtR z{NHR~>2kXoA~K#i6S+|c{@2NQ2FJg9VV>6b9^_DvFIbN0VWf%)mE&Ue!l@$nExl&F zl966Hqc_g^$>xef7P08vO%R&`lXa_qSVK1bp*pW%hS%WB(*6fulJ=X5Taw4}wlLg| za=R+uQ~W7;xP4)`1LY1?K2rQ8dAK8CxMSr`RDP;>CV9AXVYmzBE>(V|_*?RD*TQgP h;&we&Lu*H>~9iOTbd%uEyT+;vm literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.30.wasm b/threads/atomic/atomic.30.wasm new file mode 100644 index 0000000000000000000000000000000000000000..25dfe1d28304a83ec0cf9bc0582dad73240b80bd GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;fBK9JQrrMN-~*=s literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.31.wasm b/threads/atomic/atomic.31.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a6f65189e1dda3ded853d6efe16b0c73b657a889 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)$ps$RNcH06p>pssI20 literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.32.wasm b/threads/atomic/atomic.32.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bdb4f6c19f750c1fff54858c2b1d5d9c12924eb8 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)$po#302D06qHytN;K2 literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.33.wasm b/threads/atomic/atomic.33.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a122cf639ad48c6871d80b34abb6bcef11439138 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;f5uDb%7 literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.37.wasm b/threads/atomic/atomic.37.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ff57056237fd00127071968932be9df00cb319da GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)$pt#302D06rcAvj6}9 literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.38.wasm b/threads/atomic/atomic.38.wasm new file mode 100644 index 0000000000000000000000000000000000000000..895e3348cbe365a14f39397370e3dc425d3f1a02 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;e^yKkQrrMO8w0Zd literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.39.wasm b/threads/atomic/atomic.39.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3b68434cf8c3084744128fee69c1a99e768412ff GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)$px%pk=L06r`Owg3PC literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.4.wasm b/threads/atomic/atomic.4.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8171c3dd4eb524703ca80ddb49c0bfdbe003a59c GIT binary patch literal 38 scmV~$K@I>A5Cp*Px# literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.40.wasm b/threads/atomic/atomic.40.wasm new file mode 100644 index 0000000000000000000000000000000000000000..01f1f08c2aaff5b050f56794dd98605719a80d37 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;f3}PaQrrMOCIhtq literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.41.wasm b/threads/atomic/atomic.41.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8b1f780259c0f888b78f60f9049d4886d268a481 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)$pz$RNcH06sVaxBvhE literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.42.wasm b/threads/atomic/atomic.42.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7404cd81ef070198f815dd9dd92786647a5e65d1 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)*C4#302D06swjx&QzG literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.43.wasm b/threads/atomic/atomic.43.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4ad34b5b883589d2de0254107084d763455d1447 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;e~wHHQrrMOJ_EV{ literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.44.wasm b/threads/atomic/atomic.44.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f93da4969a21ab65b12737006e1662f3a84f6fb4 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)*C8%pk=L06tFxy#N3J literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.45.wasm b/threads/atomic/atomic.45.wasm new file mode 100644 index 0000000000000000000000000000000000000000..56844545ebc3b0f59f7750a0978c19063a21c3f5 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;e=dv+QrrMONdvq9 literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.46.wasm b/threads/atomic/atomic.46.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bda4f517e93105616d90816f72948a18c97786b7 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)*CA$RNcH06tp-zW@LL literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.47.wasm b/threads/atomic/atomic.47.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a6351d65f4968c7f79263208b98cf0db1ec33f2b GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^iP1V)*CI#302D06t^`!2kdN literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.48.wasm b/threads/atomic/atomic.48.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e1488a99e624a1d888310a5edf9f4ca1052dfe47 GIT binary patch literal 35 mcmZQbEY4+QU|?WmVN76PU}j=u;NoZGWpD(;e;!N>QrrMVO#}u2 literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.49.wasm b/threads/atomic/atomic.49.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b1d57a0fe1958ecddba3b62f776a663f9147df72 GIT binary patch literal 35 ocmZQbEY4+QU|?WmVN76PU}j=u;NoZGWpHG00>Xcu%nVZ807Ym73IG5A literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.5.wasm b/threads/atomic/atomic.5.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1716480c0df98b8b4d104612c84d4623c5901d44 GIT binary patch literal 33 mcmZQbEY4+QU|?WmVN76PU}j=u;NoTEW^e?;e+*0vQrrMM`2%?X literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.50.wasm b/threads/atomic/atomic.50.wasm new file mode 100644 index 0000000000000000000000000000000000000000..dc8d8d3248c200220db466a46d505b19424059f4 GIT binary patch literal 35 mcmZQbEY4+QU|?WmVN76PU}j=u;NoZGWpD(;f8LA?QrrMVSOf?F literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.51.wasm b/threads/atomic/atomic.51.wasm new file mode 100644 index 0000000000000000000000000000000000000000..5fc7fef0c8d10e3f2b883f4419174f9fc22683d9 GIT binary patch literal 35 ocmZQbEY4+QU|?WmVN76PU}j=u;NoZGWpHG00>Xd3j0{rT07Y~J3;+NC literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.52.wasm b/threads/atomic/atomic.52.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c701cd64204dd44972754153141c2f8136d60664 GIT binary patch literal 35 ocmZQbEY4+QU|?WmVN76PU}j=u;NoZGWpHG00>XcOObk-o07ZQS4gdfE literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.6.wasm b/threads/atomic/atomic.6.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b907fe3e0bf19c9b139935df598b0af71b89bb05 GIT binary patch literal 35 ocmZQbEY4+QU|?WmVN76PU}j=u;NoZGWpD&SCx(BFObk-o07LQvzyJUM literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.7.wasm b/threads/atomic/atomic.7.wasm new file mode 100644 index 0000000000000000000000000000000000000000..cb94a26301c30862726f14a7c136e245c50b66b4 GIT binary patch literal 35 ocmZQbEY4+QU|?WmVN76PU}j=u;NoZGWpHG00>Xbx%nVZ807L}?!vFvP literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.8.wasm b/threads/atomic/atomic.8.wasm new file mode 100644 index 0000000000000000000000000000000000000000..07573337d5975c6ec01672f13e3f203e3281e6af GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=u;NoWFWN>8oC&0uY#SH*9?*l{t literal 0 HcmV?d00001 diff --git a/threads/atomic/atomic.9.wasm b/threads/atomic/atomic.9.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d9e6c375eb05a8f21401fe1e1255c6cdbed9512d GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=u;NoWFWN>8oC&aAeHl=LP^@P6Q_a literal 0 HcmV?d00001 diff --git a/threads/exports/exports.12.wasm b/threads/exports/exports.12.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/threads/exports/exports.13.wasm b/threads/exports/exports.13.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/threads/exports/exports.14.wasm b/threads/exports/exports.14.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f7ea7e891146df116443f8cfd8fd019333e3dd81 GIT binary patch literal 42 ucmZQbEY4+QU|?WmWlUgTtY>CoWMJoIW=sT%Bmr?U0|OTuBMXD07B>K5r~~@| literal 0 HcmV?d00001 diff --git a/threads/exports/exports.15.wasm b/threads/exports/exports.15.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1ea99a77f011d9957e9b6d918b7dcc3eb3044d66 GIT binary patch literal 15 WcmZQbEY4+QU|?WpWn@fbU;qFS)&a5r literal 0 HcmV?d00001 diff --git a/threads/exports/exports.16.wasm b/threads/exports/exports.16.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bdbe2fe562620717d8eb930cb07e796d52fe7244 GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=uU}t4yOk`l>Vqs)r;06FOasoR5 literal 0 HcmV?d00001 diff --git a/threads/exports/exports.17.wasm b/threads/exports/exports.17.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4670c7c1f352d28d52b56b06a13098aa63f1f02f GIT binary patch literal 46 zcmZQbEY4+QU|?WmWlUhKXJ8UzfDM0J&b;+{@sAz$kh|py+YBS}Jbb6679$hvAd;kCd literal 0 HcmV?d00001 diff --git a/threads/exports/exports.21.wasm b/threads/exports/exports.21.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4abb7ed142f1095ad6d8c75db39935cfb38387a9 GIT binary patch literal 41 tcmWN_!3h8%3;@C17&z1>O##Az{e#YPsIvu37qpN}fB1S>uS-T6%nMOa0~-JU literal 0 HcmV?d00001 diff --git a/threads/exports/exports.22.wasm b/threads/exports/exports.22.wasm new file mode 100644 index 0000000000000000000000000000000000000000..775694a62d870205699bf82dda471db8a56b211e GIT binary patch literal 40 scmZQbEY4+QU|?WmVN76PU}j=uU}XmK**TdQ6M>?MOblEsj7$vN07l^gtN;K2 literal 0 HcmV?d00001 diff --git a/threads/exports/exports.23.wasm b/threads/exports/exports.23.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a2f90fe1130c8556d4a774932ad9fc3d753a85d6 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&i*sg#wKL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.24.wasm b/threads/exports/exports.24.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f1bae6aa2461d7e46b66fb2f05a8136f367c1af1 GIT binary patch literal 27 icmZQbEY4+QU|?WlW2|RzWZ-7!WMWKYW?)QWW&i*&8UpwL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.25.wasm b/threads/exports/exports.25.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3c2410be16b0f8e9b19e9f2ff2b3f14be1e95c81 GIT binary patch literal 32 jcmZQbEY4+QU|?Y5W~yg!WZ(u9?3_%DiOdX)Nz9A@NG$`( literal 0 HcmV?d00001 diff --git a/threads/exports/exports.26.wasm b/threads/exports/exports.26.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a2f90fe1130c8556d4a774932ad9fc3d753a85d6 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&i*sg#wKL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.27.wasm b/threads/exports/exports.27.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a2f90fe1130c8556d4a774932ad9fc3d753a85d6 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&i*sg#wKL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.28.wasm b/threads/exports/exports.28.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a2f90fe1130c8556d4a774932ad9fc3d753a85d6 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&i*sg#wKL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.29.wasm b/threads/exports/exports.29.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a2f90fe1130c8556d4a774932ad9fc3d753a85d6 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&i*sg#wKL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.3.wasm b/threads/exports/exports.3.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fff82363ca62dc4496fb9301cf6962c5c76f789f GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=uU}t4yOk`l-Vqs)r;06FOYXUj| literal 0 HcmV?d00001 diff --git a/threads/exports/exports.30.wasm b/threads/exports/exports.30.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a2f90fe1130c8556d4a774932ad9fc3d753a85d6 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&i*sg#wKL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.31.wasm b/threads/exports/exports.31.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a2f90fe1130c8556d4a774932ad9fc3d753a85d6 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&i*sg#wKL literal 0 HcmV?d00001 diff --git a/threads/exports/exports.32.wasm b/threads/exports/exports.32.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a9893a2a7e14e8b2070bf911beb21f4019e2ade4 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|Rz)Z%7mWn@fcW&i*u3j(_U literal 0 HcmV?d00001 diff --git a/threads/exports/exports.33.wasm b/threads/exports/exports.33.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/threads/exports/exports.34.wasm b/threads/exports/exports.34.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/threads/exports/exports.35.wasm b/threads/exports/exports.35.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e429246d9b964a006ddbec39234cd42d70a9c771 GIT binary patch literal 15 WcmZQbEY4+QU|?WpWn@fbW&i*Y+yS)! literal 0 HcmV?d00001 diff --git a/threads/exports/exports.36.wasm b/threads/exports/exports.36.wasm new file mode 100644 index 0000000000000000000000000000000000000000..38002d4a35cc1b0c4d1f200c4f9509319b317358 GIT binary patch literal 23 ecmZQbEY4+QU|?WlW2|RzWZ-6JWn@fbW&{8wh60WN literal 0 HcmV?d00001 diff --git a/threads/exports/exports.37.wasm b/threads/exports/exports.37.wasm new file mode 100644 index 0000000000000000000000000000000000000000..728410f5310ef080984bac7ef854b87bcadc304c GIT binary patch literal 41 wcmZQbEY4+QU|?X9VB{z+NKGzDEiU0o&&f|p%!$u5He#-4U}t4yOk`#R0L@JaZU6uP literal 0 HcmV?d00001 diff --git a/threads/exports/exports.38.wasm b/threads/exports/exports.38.wasm new file mode 100644 index 0000000000000000000000000000000000000000..545e7b7de6ac6789fd490517fbca88d7ea3ef65a GIT binary patch literal 27 fcmZQbEY4+QU|?WlW2|RzWZ-7!WMWKYW&mLTF&6^& literal 0 HcmV?d00001 diff --git a/threads/exports/exports.39.wasm b/threads/exports/exports.39.wasm new file mode 100644 index 0000000000000000000000000000000000000000..834177e7e425b97a1ee95c5edfc2b70d69cec391 GIT binary patch literal 32 icmZQbEY4+QU|?Y5W~yg!WZ(u9?3_%DiOdW@%m@HTDg(&? literal 0 HcmV?d00001 diff --git a/threads/exports/exports.4.wasm b/threads/exports/exports.4.wasm new file mode 100644 index 0000000000000000000000000000000000000000..153cdd1e6626a8ce95a1a26b0b1a534fa1e41d52 GIT binary patch literal 39 rcmZQbEY4+QU|?WmVN76PU}j=uVCQ9KOauxf0dX<|0~ZS;69YE@ORfV8 literal 0 HcmV?d00001 diff --git a/threads/exports/exports.40.wasm b/threads/exports/exports.40.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ca38a77ce4ba1ecf568ba4a02ecaac309aba89a0 GIT binary patch literal 43 vcmV~$Q4s(j2t>hm!00HcY$5^tGJw_HrS1`+&;~crnjVYn!&Ht6X2{47T|xtV literal 0 HcmV?d00001 diff --git a/threads/exports/exports.41.wasm b/threads/exports/exports.41.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8cbe00e58906600052e9a7605a940c3769eb85fe GIT binary patch literal 33 ocmZQbEY4+QU|?WjVJu)^U}IyfXK-ZTX6IyLOk`$YOk`vL07D=HZU6uP literal 0 HcmV?d00001 diff --git a/threads/exports/exports.42.wasm b/threads/exports/exports.42.wasm new file mode 100644 index 0000000000000000000000000000000000000000..af23959117155d197c8fd943ff9ecb27eaf7e1f0 GIT binary patch literal 32 lcmZQbEY4+QU|?Wn29j)SjP(qT4BYITOpJ-l42+3P3;;Mc0{;L2 literal 0 HcmV?d00001 diff --git a/threads/exports/exports.43.wasm b/threads/exports/exports.43.wasm new file mode 100644 index 0000000000000000000000000000000000000000..539a89bf190ae897dfed7d0ee431aada5c83d162 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vL03JC4EC2ui literal 0 HcmV?d00001 diff --git a/threads/exports/exports.44.wasm b/threads/exports/exports.44.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1f2cfccf74d67b516d42994740aeaf9a74955374 GIT binary patch literal 25 gcmZQbEY4+QU|?WjVJu)^VCQ6FOk`wWOk!jJ04PQRl>h($ literal 0 HcmV?d00001 diff --git a/threads/exports/exports.45.wasm b/threads/exports/exports.45.wasm new file mode 100644 index 0000000000000000000000000000000000000000..44ace6ec457c13aab50743eb2bc266b1d4de7e48 GIT binary patch literal 28 hcmZQbEY4+QU|?WjXDVP|03voyCdNcY2F4^tMgTMB0}22D literal 0 HcmV?d00001 diff --git a/threads/exports/exports.46.wasm b/threads/exports/exports.46.wasm new file mode 100644 index 0000000000000000000000000000000000000000..539a89bf190ae897dfed7d0ee431aada5c83d162 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vL03JC4EC2ui literal 0 HcmV?d00001 diff --git a/threads/exports/exports.47.wasm b/threads/exports/exports.47.wasm new file mode 100644 index 0000000000000000000000000000000000000000..48fb7293d12811b4118adf016e2d1eb6ac262a4b GIT binary patch literal 22 dcmZQbEY4+QU|?WjWh`K1U}R@yWK3ja001Bq0xtjn literal 0 HcmV?d00001 diff --git a/threads/exports/exports.48.wasm b/threads/exports/exports.48.wasm new file mode 100644 index 0000000000000000000000000000000000000000..539a89bf190ae897dfed7d0ee431aada5c83d162 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vL03JC4EC2ui literal 0 HcmV?d00001 diff --git a/threads/exports/exports.49.wasm b/threads/exports/exports.49.wasm new file mode 100644 index 0000000000000000000000000000000000000000..48fb7293d12811b4118adf016e2d1eb6ac262a4b GIT binary patch literal 22 dcmZQbEY4+QU|?WjWh`K1U}R@yWK3ja001Bq0xtjn literal 0 HcmV?d00001 diff --git a/threads/exports/exports.5.wasm b/threads/exports/exports.5.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d1ae1c3fddf4a4ffa65aea4420fea32337aeba32 GIT binary patch literal 36 qcmZQbEY4+QU|?WmWlUhKXJBSxWMJoHVoU^zBrz~>u`n_*a038J^8+IQ literal 0 HcmV?d00001 diff --git a/threads/exports/exports.50.wasm b/threads/exports/exports.50.wasm new file mode 100644 index 0000000000000000000000000000000000000000..539a89bf190ae897dfed7d0ee431aada5c83d162 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vL03JC4EC2ui literal 0 HcmV?d00001 diff --git a/threads/exports/exports.51.wasm b/threads/exports/exports.51.wasm new file mode 100644 index 0000000000000000000000000000000000000000..48fb7293d12811b4118adf016e2d1eb6ac262a4b GIT binary patch literal 22 dcmZQbEY4+QU|?WjWh`K1U}R@yWK3ja001Bq0xtjn literal 0 HcmV?d00001 diff --git a/threads/exports/exports.52.wasm b/threads/exports/exports.52.wasm new file mode 100644 index 0000000000000000000000000000000000000000..539a89bf190ae897dfed7d0ee431aada5c83d162 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vL03JC4EC2ui literal 0 HcmV?d00001 diff --git a/threads/exports/exports.53.wasm b/threads/exports/exports.53.wasm new file mode 100644 index 0000000000000000000000000000000000000000..48fb7293d12811b4118adf016e2d1eb6ac262a4b GIT binary patch literal 22 dcmZQbEY4+QU|?WjWh`K1U}R@yWK3ja001Bq0xtjn literal 0 HcmV?d00001 diff --git a/threads/exports/exports.54.wasm b/threads/exports/exports.54.wasm new file mode 100644 index 0000000000000000000000000000000000000000..539a89bf190ae897dfed7d0ee431aada5c83d162 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vL03JC4EC2ui literal 0 HcmV?d00001 diff --git a/threads/exports/exports.55.wasm b/threads/exports/exports.55.wasm new file mode 100644 index 0000000000000000000000000000000000000000..48fb7293d12811b4118adf016e2d1eb6ac262a4b GIT binary patch literal 22 dcmZQbEY4+QU|?WjWh`K1U}R@yWK3ja001Bq0xtjn literal 0 HcmV?d00001 diff --git a/threads/exports/exports.56.wasm b/threads/exports/exports.56.wasm new file mode 100644 index 0000000000000000000000000000000000000000..539a89bf190ae897dfed7d0ee431aada5c83d162 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vL03JC4EC2ui literal 0 HcmV?d00001 diff --git a/threads/exports/exports.57.wasm b/threads/exports/exports.57.wasm new file mode 100644 index 0000000000000000000000000000000000000000..48fb7293d12811b4118adf016e2d1eb6ac262a4b GIT binary patch literal 22 dcmZQbEY4+QU|?WjWh`K1U}R@yWK3ja001Bq0xtjn literal 0 HcmV?d00001 diff --git a/threads/exports/exports.58.wasm b/threads/exports/exports.58.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4ab93b296f449e57b1f5092ecb3c25228587f0be GIT binary patch literal 15 WcmZQbEY4+QU|?WpWn@fbWB>pW*a5Qu literal 0 HcmV?d00001 diff --git a/threads/exports/exports.59.wasm b/threads/exports/exports.59.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9dec9ee5f8348a4defd92c0437fc48785a5cf3f9 GIT binary patch literal 21 ccmZQbEY4+QU|?WjVJu)^U}t4yOk`vP03JF5EdT%j literal 0 HcmV?d00001 diff --git a/threads/exports/exports.6.wasm b/threads/exports/exports.6.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fff82363ca62dc4496fb9301cf6962c5c76f789f GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=uU}t4yOk`l-Vqs)r;06FOYXUj| literal 0 HcmV?d00001 diff --git a/threads/exports/exports.60.wasm b/threads/exports/exports.60.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f45b5aa66a23355f14cabc38fc8d0d29f4d379ea GIT binary patch literal 38 tcmZQbEY4+QU|?VpW#lL>NKGzDEiPd#NleN~Wh`Li5@Ba$WK3ja1OTK62iyPv literal 0 HcmV?d00001 diff --git a/threads/exports/exports.61.wasm b/threads/exports/exports.61.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7b16c9ddf4f15559729fe4c717a208d3b9b541c0 GIT binary patch literal 25 dcmZQbEY4+QU|?WjVJu)^VCQ6FOk`vLVE`yY0+av% literal 0 HcmV?d00001 diff --git a/threads/exports/exports.62.wasm b/threads/exports/exports.62.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d6b99b952d4af3fd5821552baaaeec53b1ac8674 GIT binary patch literal 28 gcmZQbEY4+QU|?WjXDVP|03voyCdNcY1|Vhx05jtQ2><{9 literal 0 HcmV?d00001 diff --git a/threads/exports/exports.63.wasm b/threads/exports/exports.63.wasm new file mode 100644 index 0000000000000000000000000000000000000000..94a8e1b7bdcf9818102be082f9ab611368265bdb GIT binary patch literal 41 qcmV~$fe8R048X8<4n%#@9Uut)4<^(*0;U^UNTwJ12um!OX|O&~R0A6T literal 0 HcmV?d00001 diff --git a/threads/exports/exports.64.wasm b/threads/exports/exports.64.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9733b5e7f9e55223b26ddcfcfe0814b3e8f2040a GIT binary patch literal 33 ocmZQbEY4+QU|?WjVJu)^U}IyfXK-ZTX6IyLOk`wWOk`#N07Do9ZU6uP literal 0 HcmV?d00001 diff --git a/threads/exports/exports.65.wasm b/threads/exports/exports.65.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f28390c765aabb9f158b44494c4c85b2134e8408 GIT binary patch literal 30 jcmZQbEY4+QU|?WjVJu)^U}Xlf**TdQ6B!v86PXwQF?<4^ literal 0 HcmV?d00001 diff --git a/threads/exports/exports.66.wasm b/threads/exports/exports.66.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2981c2461cd601057c5978198cb8df7c23f69791 GIT binary patch literal 20 ZcmZQbEY4+QU|?Wn29oTojEsp)3;-CA0lfeK literal 0 HcmV?d00001 diff --git a/threads/exports/exports.67.wasm b/threads/exports/exports.67.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6696dc1f5fc9b94f45aefa88f80c275fa40f0a4a GIT binary patch literal 24 dcmZQbEY4+QU|?Wn29oTYOpJ+442(%k3;-bG0w(|f literal 0 HcmV?d00001 diff --git a/threads/exports/exports.68.wasm b/threads/exports/exports.68.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2981c2461cd601057c5978198cb8df7c23f69791 GIT binary patch literal 20 ZcmZQbEY4+QU|?Wn29oTojEsp)3;-CA0lfeK literal 0 HcmV?d00001 diff --git a/threads/exports/exports.69.wasm b/threads/exports/exports.69.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f6bda9d18c5c0b1982ac2aefce047cd2aff19860 GIT binary patch literal 21 ccmZQbEY4+QU|?WnVPs@rWM^e$Ok`pJ02%rLzyJUM literal 0 HcmV?d00001 diff --git a/threads/exports/exports.7.wasm b/threads/exports/exports.7.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fff82363ca62dc4496fb9301cf6962c5c76f789f GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=uU}t4yOk`l-Vqs)r;06FOYXUj| literal 0 HcmV?d00001 diff --git a/threads/exports/exports.70.wasm b/threads/exports/exports.70.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2981c2461cd601057c5978198cb8df7c23f69791 GIT binary patch literal 20 ZcmZQbEY4+QU|?Wn29oTojEsp)3;-CA0lfeK literal 0 HcmV?d00001 diff --git a/threads/exports/exports.71.wasm b/threads/exports/exports.71.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f6bda9d18c5c0b1982ac2aefce047cd2aff19860 GIT binary patch literal 21 ccmZQbEY4+QU|?WnVPs@rWM^e$Ok`pJ02%rLzyJUM literal 0 HcmV?d00001 diff --git a/threads/exports/exports.72.wasm b/threads/exports/exports.72.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2981c2461cd601057c5978198cb8df7c23f69791 GIT binary patch literal 20 ZcmZQbEY4+QU|?Wn29oTojEsp)3;-CA0lfeK literal 0 HcmV?d00001 diff --git a/threads/exports/exports.73.wasm b/threads/exports/exports.73.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f6bda9d18c5c0b1982ac2aefce047cd2aff19860 GIT binary patch literal 21 ccmZQbEY4+QU|?WnVPs@rWM^e$Ok`pJ02%rLzyJUM literal 0 HcmV?d00001 diff --git a/threads/exports/exports.74.wasm b/threads/exports/exports.74.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2981c2461cd601057c5978198cb8df7c23f69791 GIT binary patch literal 20 ZcmZQbEY4+QU|?Wn29oTojEsp)3;-CA0lfeK literal 0 HcmV?d00001 diff --git a/threads/exports/exports.75.wasm b/threads/exports/exports.75.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f6bda9d18c5c0b1982ac2aefce047cd2aff19860 GIT binary patch literal 21 ccmZQbEY4+QU|?WnVPs@rWM^e$Ok`pJ02%rLzyJUM literal 0 HcmV?d00001 diff --git a/threads/exports/exports.76.wasm b/threads/exports/exports.76.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2981c2461cd601057c5978198cb8df7c23f69791 GIT binary patch literal 20 ZcmZQbEY4+QU|?Wn29oTojEsp)3;-CA0lfeK literal 0 HcmV?d00001 diff --git a/threads/exports/exports.77.wasm b/threads/exports/exports.77.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f6bda9d18c5c0b1982ac2aefce047cd2aff19860 GIT binary patch literal 21 ccmZQbEY4+QU|?WnVPs@rWM^e$Ok`pJ02%rLzyJUM literal 0 HcmV?d00001 diff --git a/threads/exports/exports.78.wasm b/threads/exports/exports.78.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2981c2461cd601057c5978198cb8df7c23f69791 GIT binary patch literal 20 ZcmZQbEY4+QU|?Wn29oTojEsp)3;-CA0lfeK literal 0 HcmV?d00001 diff --git a/threads/exports/exports.79.wasm b/threads/exports/exports.79.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f6bda9d18c5c0b1982ac2aefce047cd2aff19860 GIT binary patch literal 21 ccmZQbEY4+QU|?WnVPs@rWM^e$Ok`pJ02%rLzyJUM literal 0 HcmV?d00001 diff --git a/threads/exports/exports.8.wasm b/threads/exports/exports.8.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fff82363ca62dc4496fb9301cf6962c5c76f789f GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=uU}t4yOk`l-Vqs)r;06FOYXUj| literal 0 HcmV?d00001 diff --git a/threads/exports/exports.80.wasm b/threads/exports/exports.80.wasm new file mode 100644 index 0000000000000000000000000000000000000000..638954c4f45cd85181b79d01acc8e2828975b815 GIT binary patch literal 21 ccmZQbEY4+QU|?WnVPs}tWM^e$Ok`pJ02&Sf!TNKGzDEiPfpP0h_Os$^nhWMXG!WK3jY1OTOC2ju_& literal 0 HcmV?d00001 diff --git a/threads/exports/exports.89.wasm b/threads/exports/exports.89.wasm new file mode 100644 index 0000000000000000000000000000000000000000..0e6c0299ef6e7109eb8e2d850047e1a772e43698 GIT binary patch literal 24 bcmZQbEY4+QU|?Wn29oTYOpJ+43?K{uAm9Qf literal 0 HcmV?d00001 diff --git a/threads/exports/exports.9.wasm b/threads/exports/exports.9.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fff82363ca62dc4496fb9301cf6962c5c76f789f GIT binary patch literal 31 mcmZQbEY4+QU|?WmVN76PU}j=uU}t4yOk`l-Vqs)r;06FOYXUj| literal 0 HcmV?d00001 diff --git a/threads/exports/exports.90.wasm b/threads/exports/exports.90.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fbded776f85e97f0971937b57bf57a5c478a2198 GIT binary patch literal 40 scmWN^!3_W)3WXgUjqM3-6KG$4PnvZzYnX73TDcz2S(`vtN;K2 literal 0 HcmV?d00001 diff --git a/threads/exports/exports.91.wasm b/threads/exports/exports.91.wasm new file mode 100644 index 0000000000000000000000000000000000000000..0520a4adc9fcb8b9af1aa95093d7a58d09d63176 GIT binary patch literal 32 lcmZQbEY4+QU|?Wn29j)SjP(qT4BYITOpJ+442+4)3;;MY0{;L2 literal 0 HcmV?d00001 diff --git a/threads/exports/exports.92.wasm b/threads/exports/exports.92.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1e327f93cd5449fed988d0dd09a9df2ea3b8d53f GIT binary patch literal 30 jcmZQbEY4+QU|?WjVJu)^U}Xlf**TdQ6PXwo6B!u*F@OS| literal 0 HcmV?d00001 diff --git a/threads/exports/exports.json b/threads/exports/exports.json new file mode 100644 index 00000000..025479e1 --- /dev/null +++ b/threads/exports/exports.json @@ -0,0 +1,104 @@ +{"source_filename": "exports.wast", + "commands": [ + {"type": "module", "line": 3, "filename": "exports.0.wasm"}, + {"type": "module", "line": 4, "filename": "exports.1.wasm"}, + {"type": "module", "line": 5, "filename": "exports.2.wasm"}, + {"type": "module", "line": 7, "filename": "exports.3.wasm"}, + {"type": "module", "line": 8, "filename": "exports.4.wasm"}, + {"type": "module", "line": 9, "filename": "exports.5.wasm"}, + {"type": "module", "line": 10, "filename": "exports.6.wasm"}, + {"type": "module", "line": 11, "filename": "exports.7.wasm"}, + {"type": "module", "line": 12, "filename": "exports.8.wasm"}, + {"type": "module", "line": 13, "filename": "exports.9.wasm"}, + {"type": "module", "line": 14, "filename": "exports.10.wasm"}, + {"type": "module", "line": 16, "name": "$Func", "filename": "exports.11.wasm"}, + {"type": "assert_return", "line": 22, "action": {"type": "invoke", "field": "e", "args": [{"type": "i32", "value": "42"}]}, "expected": [{"type": "i32", "value": "43"}]}, + {"type": "assert_return", "line": 23, "action": {"type": "invoke", "module": "$Func", "field": "e", "args": [{"type": "i32", "value": "42"}]}, "expected": [{"type": "i32", "value": "43"}]}, + {"type": "module", "line": 24, "filename": "exports.12.wasm"}, + {"type": "module", "line": 25, "name": "$Other1", "filename": "exports.13.wasm"}, + {"type": "assert_return", "line": 26, "action": {"type": "invoke", "module": "$Func", "field": "e", "args": [{"type": "i32", "value": "42"}]}, "expected": [{"type": "i32", "value": "43"}]}, + {"type": "module", "line": 28, "filename": "exports.14.wasm"}, + {"type": "assert_return", "line": 34, "action": {"type": "invoke", "field": "a", "args": []}, "expected": [{"type": "i32", "value": "42"}]}, + {"type": "assert_return", "line": 35, "action": {"type": "invoke", "field": "b", "args": []}, "expected": [{"type": "i32", "value": "42"}]}, + {"type": "assert_return", "line": 36, "action": {"type": "invoke", "field": "c", "args": []}, "expected": [{"type": "i32", "value": "42"}]}, + {"type": "assert_invalid", "line": 39, "filename": "exports.15.wasm", "text": "unknown function", "module_type": "binary"}, + {"type": "assert_invalid", "line": 43, "filename": "exports.16.wasm", "text": "unknown function", "module_type": "binary"}, + {"type": "assert_invalid", "line": 47, "filename": "exports.17.wasm", "text": "unknown function", "module_type": "binary"}, + {"type": "assert_invalid", "line": 51, "filename": "exports.18.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 55, "filename": "exports.19.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 59, "filename": "exports.20.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 63, "filename": "exports.21.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 67, "filename": "exports.22.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "module", "line": 74, "filename": "exports.23.wasm"}, + {"type": "module", "line": 75, "filename": "exports.24.wasm"}, + {"type": "module", "line": 76, "filename": "exports.25.wasm"}, + {"type": "module", "line": 78, "filename": "exports.26.wasm"}, + {"type": "module", "line": 79, "filename": "exports.27.wasm"}, + {"type": "module", "line": 80, "filename": "exports.28.wasm"}, + {"type": "module", "line": 81, "filename": "exports.29.wasm"}, + {"type": "module", "line": 82, "filename": "exports.30.wasm"}, + {"type": "module", "line": 83, "filename": "exports.31.wasm"}, + {"type": "module", "line": 85, "name": "$Global", "filename": "exports.32.wasm"}, + {"type": "assert_return", "line": 89, "action": {"type": "get", "field": "e"}, "expected": [{"type": "i32", "value": "42"}]}, + {"type": "assert_return", "line": 90, "action": {"type": "get", "module": "$Global", "field": "e"}, "expected": [{"type": "i32", "value": "42"}]}, + {"type": "module", "line": 91, "filename": "exports.33.wasm"}, + {"type": "module", "line": 92, "name": "$Other2", "filename": "exports.34.wasm"}, + {"type": "assert_return", "line": 93, "action": {"type": "get", "module": "$Global", "field": "e"}, "expected": [{"type": "i32", "value": "42"}]}, + {"type": "assert_invalid", "line": 96, "filename": "exports.35.wasm", "text": "unknown global", "module_type": "binary"}, + {"type": "assert_invalid", "line": 100, "filename": "exports.36.wasm", "text": "unknown global", "module_type": "binary"}, + {"type": "assert_invalid", "line": 104, "filename": "exports.37.wasm", "text": "unknown global", "module_type": "binary"}, + {"type": "assert_invalid", "line": 108, "filename": "exports.38.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 112, "filename": "exports.39.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 116, "filename": "exports.40.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 120, "filename": "exports.41.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 124, "filename": "exports.42.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "module", "line": 131, "filename": "exports.43.wasm"}, + {"type": "module", "line": 132, "filename": "exports.44.wasm"}, + {"type": "module", "line": 133, "filename": "exports.45.wasm"}, + {"type": "module", "line": 135, "filename": "exports.46.wasm"}, + {"type": "module", "line": 136, "filename": "exports.47.wasm"}, + {"type": "module", "line": 137, "filename": "exports.48.wasm"}, + {"type": "module", "line": 138, "filename": "exports.49.wasm"}, + {"type": "module", "line": 139, "filename": "exports.50.wasm"}, + {"type": "module", "line": 140, "filename": "exports.51.wasm"}, + {"type": "module", "line": 141, "filename": "exports.52.wasm"}, + {"type": "module", "line": 142, "filename": "exports.53.wasm"}, + {"type": "module", "line": 143, "filename": "exports.54.wasm"}, + {"type": "module", "line": 144, "filename": "exports.55.wasm"}, + {"type": "module", "line": 145, "filename": "exports.56.wasm"}, + {"type": "module", "line": 146, "filename": "exports.57.wasm"}, + {"type": "assert_invalid", "line": 151, "filename": "exports.58.wasm", "text": "unknown table", "module_type": "binary"}, + {"type": "assert_invalid", "line": 155, "filename": "exports.59.wasm", "text": "unknown table", "module_type": "binary"}, + {"type": "assert_invalid", "line": 159, "filename": "exports.60.wasm", "text": "unknown table", "module_type": "binary"}, + {"type": "assert_invalid", "line": 163, "filename": "exports.61.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 167, "filename": "exports.62.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 171, "filename": "exports.63.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 175, "filename": "exports.64.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 179, "filename": "exports.65.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "module", "line": 186, "filename": "exports.66.wasm"}, + {"type": "module", "line": 187, "filename": "exports.67.wasm"}, + {"type": "module", "line": 191, "filename": "exports.68.wasm"}, + {"type": "module", "line": 192, "filename": "exports.69.wasm"}, + {"type": "module", "line": 193, "filename": "exports.70.wasm"}, + {"type": "module", "line": 194, "filename": "exports.71.wasm"}, + {"type": "module", "line": 195, "filename": "exports.72.wasm"}, + {"type": "module", "line": 196, "filename": "exports.73.wasm"}, + {"type": "module", "line": 197, "filename": "exports.74.wasm"}, + {"type": "module", "line": 198, "filename": "exports.75.wasm"}, + {"type": "module", "line": 199, "filename": "exports.76.wasm"}, + {"type": "module", "line": 200, "filename": "exports.77.wasm"}, + {"type": "module", "line": 201, "filename": "exports.78.wasm"}, + {"type": "module", "line": 202, "filename": "exports.79.wasm"}, + {"type": "module", "line": 204, "filename": "exports.80.wasm"}, + {"type": "module", "line": 205, "filename": "exports.81.wasm"}, + {"type": "module", "line": 206, "filename": "exports.82.wasm"}, + {"type": "module", "line": 207, "filename": "exports.83.wasm"}, + {"type": "module", "line": 208, "filename": "exports.84.wasm"}, + {"type": "module", "line": 209, "filename": "exports.85.wasm"}, + {"type": "assert_invalid", "line": 214, "filename": "exports.86.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 218, "filename": "exports.87.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 222, "filename": "exports.88.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 226, "filename": "exports.89.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 235, "filename": "exports.90.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 239, "filename": "exports.91.wasm", "text": "duplicate export name", "module_type": "binary"}, + {"type": "assert_invalid", "line": 243, "filename": "exports.92.wasm", "text": "duplicate export name", "module_type": "binary"}]} diff --git a/threads/exports/exports.wast b/threads/exports/exports.wast new file mode 100644 index 00000000..e1844b11 --- /dev/null +++ b/threads/exports/exports.wast @@ -0,0 +1,245 @@ +;; Functions + +(module (func) (export "a" (func 0))) +(module (func) (export "a" (func 0)) (export "b" (func 0))) +(module (func) (func) (export "a" (func 0)) (export "b" (func 1))) + +(module (func (export "a"))) +(module (func (export "a") (export "b") (export "c"))) +(module (func (export "a") (export "b") (param i32))) +(module (func) (export "a" (func 0))) +(module (func $a (export "a"))) +(module (func $a) (export "a" (func $a))) +(module (export "a" (func 0)) (func)) +(module (export "a" (func $a)) (func $a)) + +(module $Func + (export "e" (func $f)) + (func $f (param $n i32) (result i32) + (return (i32.add (local.get $n) (i32.const 1))) + ) +) +(assert_return (invoke "e" (i32.const 42)) (i32.const 43)) +(assert_return (invoke $Func "e" (i32.const 42)) (i32.const 43)) +(module) +(module $Other1) +(assert_return (invoke $Func "e" (i32.const 42)) (i32.const 43)) + +(module + (type (;0;) (func (result i32))) + (func (;0;) (type 0) (result i32) i32.const 42) + (export "a" (func 0)) + (export "b" (func 0)) + (export "c" (func 0))) +(assert_return (invoke "a") (i32.const 42)) +(assert_return (invoke "b") (i32.const 42)) +(assert_return (invoke "c") (i32.const 42)) + +(assert_invalid + (module (export "a" (func 0))) + "unknown function" +) +(assert_invalid + (module (func) (export "a" (func 1))) + "unknown function" +) +(assert_invalid + (module (import "spectest" "print_i32" (func (param i32))) (export "a" (func 1))) + "unknown function" +) +(assert_invalid + (module (func) (export "a" (func 0)) (export "a" (func 0))) + "duplicate export name" +) +(assert_invalid + (module (func) (func) (export "a" (func 0)) (export "a" (func 1))) + "duplicate export name" +) +(assert_invalid + (module (func) (global i32 (i32.const 0)) (export "a" (func 0)) (export "a" (global 0))) + "duplicate export name" +) +(assert_invalid + (module (func) (table 0 funcref) (export "a" (func 0)) (export "a" (table 0))) + "duplicate export name" +) +(assert_invalid + (module (func) (memory 0) (export "a" (func 0)) (export "a" (memory 0))) + "duplicate export name" +) + + +;; Globals + +(module (global i32 (i32.const 0)) (export "a" (global 0))) +(module (global i32 (i32.const 0)) (export "a" (global 0)) (export "b" (global 0))) +(module (global i32 (i32.const 0)) (global i32 (i32.const 0)) (export "a" (global 0)) (export "b" (global 1))) + +(module (global (export "a") i32 (i32.const 0))) +(module (global i32 (i32.const 0)) (export "a" (global 0))) +(module (global $a (export "a") i32 (i32.const 0))) +(module (global $a i32 (i32.const 0)) (export "a" (global $a))) +(module (export "a" (global 0)) (global i32 (i32.const 0))) +(module (export "a" (global $a)) (global $a i32 (i32.const 0))) + +(module $Global + (export "e" (global $g)) + (global $g i32 (i32.const 42)) +) +(assert_return (get "e") (i32.const 42)) +(assert_return (get $Global "e") (i32.const 42)) +(module) +(module $Other2) +(assert_return (get $Global "e") (i32.const 42)) + +(assert_invalid + (module (export "a" (global 0))) + "unknown global" +) +(assert_invalid + (module (global i32 (i32.const 0)) (export "a" (global 1))) + "unknown global" +) +(assert_invalid + (module (import "spectest" "global_i32" (global i32)) (export "a" (global 1))) + "unknown global" +) +(assert_invalid + (module (global i32 (i32.const 0)) (export "a" (global 0)) (export "a" (global 0))) + "duplicate export name" +) +(assert_invalid + (module (global i32 (i32.const 0)) (global i32 (i32.const 0)) (export "a" (global 0)) (export "a" (global 1))) + "duplicate export name" +) +(assert_invalid + (module (global i32 (i32.const 0)) (func) (export "a" (global 0)) (export "a" (func 0))) + "duplicate export name" +) +(assert_invalid + (module (global i32 (i32.const 0)) (table 0 funcref) (export "a" (global 0)) (export "a" (table 0))) + "duplicate export name" +) +(assert_invalid + (module (global i32 (i32.const 0)) (memory 0) (export "a" (global 0)) (export "a" (memory 0))) + "duplicate export name" +) + + +;; Tables + +(module (table 0 funcref) (export "a" (table 0))) +(module (table 0 funcref) (export "a" (table 0)) (export "b" (table 0))) +(module (table 0 funcref) (table 0 funcref) (export "a" (table 0)) (export "b" (table 1))) + +(module (table (export "a") 0 funcref)) +(module (table (export "a") 0 1 funcref)) +(module (table 0 funcref) (export "a" (table 0))) +(module (table 0 1 funcref) (export "a" (table 0))) +(module (table $a (export "a") 0 funcref)) +(module (table $a (export "a") 0 1 funcref)) +(module (table $a 0 funcref) (export "a" (table $a))) +(module (table $a 0 1 funcref) (export "a" (table $a))) +(module (export "a" (table 0)) (table 0 funcref)) +(module (export "a" (table 0)) (table 0 1 funcref)) +(module (export "a" (table $a)) (table $a 0 funcref)) +(module (export "a" (table $a)) (table $a 0 1 funcref)) + +(; TODO: access table ;) + +(assert_invalid + (module (export "a" (table 0))) + "unknown table" +) +(assert_invalid + (module (table 0 funcref) (export "a" (table 1))) + "unknown table" +) +(assert_invalid + (module (import "spectest" "table" (table 10 20 funcref)) (export "a" (table 1))) + "unknown table" +) +(assert_invalid + (module (table 0 funcref) (export "a" (table 0)) (export "a" (table 0))) + "duplicate export name" +) +(assert_invalid + (module (table 0 funcref) (table 0 funcref) (export "a" (table 0)) (export "a" (table 1))) + "duplicate export name" +) +(assert_invalid + (module (table 0 funcref) (func) (export "a" (table 0)) (export "a" (func 0))) + "duplicate export name" +) +(assert_invalid + (module (table 0 funcref) (global i32 (i32.const 0)) (export "a" (table 0)) (export "a" (global 0))) + "duplicate export name" +) +(assert_invalid + (module (table 0 funcref) (memory 0) (export "a" (table 0)) (export "a" (memory 0))) + "duplicate export name" +) + + +;; Memories + +(module (memory 0) (export "a" (memory 0))) +(module (memory 0) (export "a" (memory 0)) (export "b" (memory 0))) +;; No multiple memories yet. +;; (module (memory 0) (memory 0) (export "a" (memory 0)) (export "b" (memory 1))) + +(module (memory (export "a") 0)) +(module (memory (export "a") 0 1)) +(module (memory 0) (export "a" (memory 0))) +(module (memory 0 1) (export "a" (memory 0))) +(module (memory $a (export "a") 0)) +(module (memory $a (export "a") 0 1)) +(module (memory $a 0) (export "a" (memory $a))) +(module (memory $a 0 1) (export "a" (memory $a))) +(module (export "a" (memory 0)) (memory 0)) +(module (export "a" (memory 0)) (memory 0 1)) +(module (export "a" (memory $a)) (memory $a 0)) +(module (export "a" (memory $a)) (memory $a 0 1)) + +(module (memory (export "a") 0 1 shared)) +(module (memory 0 1 shared) (export "a" (memory 0))) +(module (memory $a (export "a") 0 1 shared)) +(module (memory $a 0 1 shared) (export "a" (memory $a))) +(module (export "a" (memory 0)) (memory 0 1 shared)) +(module (export "a" (memory $a)) (memory $a 0 1 shared)) + +(; TODO: access memory ;) + +(assert_invalid + (module (export "a" (memory 0))) + "unknown memory" +) +(assert_invalid + (module (memory 0) (export "a" (memory 1))) + "unknown memory" +) +(assert_invalid + (module (import "spectest" "memory" (memory 1 2)) (export "a" (memory 1))) + "unknown memory" +) +(assert_invalid + (module (memory 0) (export "a" (memory 0)) (export "a" (memory 0))) + "duplicate export name" +) +;; No multiple memories yet. +;; (assert_invalid +;; (module (memory 0) (memory 0) (export "a" (memory 0)) (export "a" (memory 1))) +;; "duplicate export name" +;; ) +(assert_invalid + (module (memory 0) (func) (export "a" (memory 0)) (export "a" (func 0))) + "duplicate export name" +) +(assert_invalid + (module (memory 0) (global i32 (i32.const 0)) (export "a" (memory 0)) (export "a" (global 0))) + "duplicate export name" +) +(assert_invalid + (module (memory 0) (table 0 funcref) (export "a" (memory 0)) (export "a" (table 0))) + "duplicate export name" +) diff --git a/threads/imports/imports.0.wasm b/threads/imports/imports.0.wasm new file mode 100644 index 0000000000000000000000000000000000000000..314beaf04f326097cf9d543243e57008e88422ce GIT binary patch literal 298 zcmX|+O%8%E5QX2gg(6i~#HG;#G(j}FGeIu`8ZjoI#-D`?;6z@+li32AbUN>QZ>C9+ z-U|XiW0?R6)uu`$pxRVv*a)hq;+_OCE*w{Q>2k?!(?o`w2!&Isy{QApG;4#nm6(vb}r{HbJ6?GcDaN;cn#mB0k;^#$tX BJYE0* literal 0 HcmV?d00001 diff --git a/threads/imports/imports.1.wasm b/threads/imports/imports.1.wasm new file mode 100644 index 0000000000000000000000000000000000000000..652d87b4eafdf2ba74f801cbd89529cbf2edc02a GIT binary patch literal 617 zcmb7C!A^rf5PdTX1&S!GKY)n`5B6ZGBwke1lRrUCQz9ld8^If;CjLmj!JB{OCpgfA zLrYBE^*2z3Ae literal 0 HcmV?d00001 diff --git a/threads/imports/imports.100.wasm b/threads/imports/imports.100.wasm new file mode 100644 index 0000000000000000000000000000000000000000..01e7c8deb2f995231c3aa6283127e235e6ea3355 GIT binary patch literal 32 ncmZQbEY4+QU|?VpV`M2wEiU27P0h_Os?;^o&CE+NKGzDEiPfpP0h_Os$^nhWC8$hy$5pu literal 0 HcmV?d00001 diff --git a/threads/imports/imports.106.wasm b/threads/imports/imports.106.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4d0cb1a9d4f6d472673254295726db393750765c GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPfpP0h_Os$^nhU;+Sdy9aUr literal 0 HcmV?d00001 diff --git a/threads/imports/imports.107.wasm b/threads/imports/imports.107.wasm new file mode 100644 index 0000000000000000000000000000000000000000..0fd00827c512650270b5f27d82b75f68de954576 GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPfpP0h_Os$^nhWCj3lz6W#w literal 0 HcmV?d00001 diff --git a/threads/imports/imports.108.wasm b/threads/imports/imports.108.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1d55b9bcff678d277efb014e255330b94424c0a2 GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPfpP0h_Os$^nhU^^2z>wm literal 0 HcmV?d00001 diff --git a/threads/imports/imports.110.wasm b/threads/imports/imports.110.wasm new file mode 100644 index 0000000000000000000000000000000000000000..20ed7a1956b991ce4f99214f0ce7a347ee832ab9 GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPd%&CAZqFVACQU<3eh<_G8i literal 0 HcmV?d00001 diff --git a/threads/imports/imports.111.wasm b/threads/imports/imports.111.wasm new file mode 100644 index 0000000000000000000000000000000000000000..969740f29a7ac7551c10d5d4ded6f25529495c7d GIT binary patch literal 32 ncmZQbEY4+QU|?VpV`M2wEiU27P0h_Os?;^o&CE+NKGzDEiPfpP0h_Os$^nhWCQ?jya#ds literal 0 HcmV?d00001 diff --git a/threads/imports/imports.115.wasm b/threads/imports/imports.115.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3c7cc625f820e7439e60f04b0bdba1df8f3aca80 GIT binary patch literal 28 jcmZQbEY4+QU|?VpVq_^vEiU0mE6q#R%``S*VqgRSQMd)p literal 0 HcmV?d00001 diff --git a/threads/imports/imports.116.wasm b/threads/imports/imports.116.wasm new file mode 100644 index 0000000000000000000000000000000000000000..788006a408489e88f485b7c8d743b9e72079b219 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+bv>HezC61OQ?Q2A2Q; literal 0 HcmV?d00001 diff --git a/threads/imports/imports.117.wasm b/threads/imports/imports.117.wasm new file mode 100644 index 0000000000000000000000000000000000000000..de0a76f947b68ec70adc83506da19e0000008388 GIT binary patch literal 32 ncmZQbEY4+QU|?VpV`M2wEiU0HNleN~)ipHG&CE+9ZVK2?g&dV>)V_*OPST+Wi literal 0 HcmV?d00001 diff --git a/threads/imports/imports.120.wasm b/threads/imports/imports.120.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7cc4a3cba0008523737779781ec86ef7b3ebfba5 GIT binary patch literal 29 kcmZQbEY4+QU|?VpX5=U?NKGzDEiPd#NleN~Wny3i0AAJx+yDRo literal 0 HcmV?d00001 diff --git a/threads/imports/imports.121.wasm b/threads/imports/imports.121.wasm new file mode 100644 index 0000000000000000000000000000000000000000..877a2e563d4611ffcff1a1dbfabeb2f82d80c919 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVdN+-NKGzDEiPfpP0h_Os$^nd0sv?<2XFuY literal 0 HcmV?d00001 diff --git a/threads/imports/imports.122.wasm b/threads/imports/imports.122.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1acf047dd57f1ed2d741270132ababa8653f197b GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPfpP0h_Os$^nhWCQ?jya#ds literal 0 HcmV?d00001 diff --git a/threads/imports/imports.123.wasm b/threads/imports/imports.123.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2b92957d10272188d5e24a0fec80601105bd46f1 GIT binary patch literal 63 zcmZQbEY4+QU|?WmV@zPIXRK!uW#lL>NKGzDEiPfpP0h_Os$^nhU}gpq>>P|N=|%bF Q3=CWxjBE@F3=Rz30FY-3H~;_u literal 0 HcmV?d00001 diff --git a/threads/imports/imports.124.wasm b/threads/imports/imports.124.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d5ef36b27f728dff549e85eac04f1f0c8b37c932 GIT binary patch literal 53 zcmZQbEY4+QU|?WmWlUgTtY>CoWME}xWME_$WMa!r&CM^WWMW`RFUl`xVBq3lWMgn- IbYS2H0Kq*6UH||9 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.125.wasm b/threads/imports/imports.125.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8a5cd5f47e4f97f23cfe7a41bc77a0af8efa27b4 GIT binary patch literal 74 zcmZQbEY4+QU|?WmWlUgTtY?y7P0h_Os$_#uObkrSOpFZdf=qA$7LYOq P1}+XpHU>vV2L^5cQo0Wj literal 0 HcmV?d00001 diff --git a/threads/imports/imports.126.wasm b/threads/imports/imports.126.wasm new file mode 100644 index 0000000000000000000000000000000000000000..aa46c032639fa4e853409fd3b53757801f1d4f18 GIT binary patch literal 72 zcmZQbEY4+QU|?WmWlUgTtY=bW6iqM6FVEA>%q_?-DoIVz%}veCFREmNP)rQW%uI|7 W>>P|N#hF#93=CXsj4TZH4BP;01`odg literal 0 HcmV?d00001 diff --git a/threads/imports/imports.127.wasm b/threads/imports/imports.127.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3de69b00462204e6933f99097a42e50d98c82551 GIT binary patch literal 38 tcmZQbEY4+QU|?X9VdN+-NKGzDEiU0L&PXguO^MG<&CM^WWMXDy0sy+q3RwUE literal 0 HcmV?d00001 diff --git a/threads/imports/imports.128.wasm b/threads/imports/imports.128.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b45c295f1c415414eb051849eb7fff8ee61e02be GIT binary patch literal 38 tcmZQbEY4+QU|?X9VdN+-NKGzDEiU0L&PXguO^MG<&CM^WWMX7w0sy+k3ReIC literal 0 HcmV?d00001 diff --git a/threads/imports/imports.129.wasm b/threads/imports/imports.129.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2e7f177ffc6b68f16c8a1d6806d69d542cf3895c GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPfpP0h_Os$^njWC8$h!v}Q$ literal 0 HcmV?d00001 diff --git a/threads/imports/imports.13.wasm b/threads/imports/imports.13.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2f5d2a6a7471003b68c46d710fd213ca64412369 GIT binary patch literal 36 rcmZQbEY4+QU|?WmVN76PU=m^EC@x4%E=eseVK2?g&dV>)V_*OPdwB>- literal 0 HcmV?d00001 diff --git a/threads/imports/imports.130.wat b/threads/imports/imports.130.wat new file mode 100644 index 00000000..43ebf80b --- /dev/null +++ b/threads/imports/imports.130.wat @@ -0,0 +1 @@ +(func) (import "" "" (func)) \ No newline at end of file diff --git a/threads/imports/imports.131.wat b/threads/imports/imports.131.wat new file mode 100644 index 00000000..5e764821 --- /dev/null +++ b/threads/imports/imports.131.wat @@ -0,0 +1 @@ +(func) (import "" "" (global i64)) \ No newline at end of file diff --git a/threads/imports/imports.132.wat b/threads/imports/imports.132.wat new file mode 100644 index 00000000..9a7000b2 --- /dev/null +++ b/threads/imports/imports.132.wat @@ -0,0 +1 @@ +(func) (import "" "" (table 0 funcref)) \ No newline at end of file diff --git a/threads/imports/imports.133.wat b/threads/imports/imports.133.wat new file mode 100644 index 00000000..98a5e57f --- /dev/null +++ b/threads/imports/imports.133.wat @@ -0,0 +1 @@ +(func) (import "" "" (memory 0)) \ No newline at end of file diff --git a/threads/imports/imports.134.wat b/threads/imports/imports.134.wat new file mode 100644 index 00000000..e2e49bd9 --- /dev/null +++ b/threads/imports/imports.134.wat @@ -0,0 +1 @@ +(global i64 (i64.const 0)) (import "" "" (func)) \ No newline at end of file diff --git a/threads/imports/imports.135.wat b/threads/imports/imports.135.wat new file mode 100644 index 00000000..4d3a65ed --- /dev/null +++ b/threads/imports/imports.135.wat @@ -0,0 +1 @@ +(global i64 (i64.const 0)) (import "" "" (global f32)) \ No newline at end of file diff --git a/threads/imports/imports.136.wat b/threads/imports/imports.136.wat new file mode 100644 index 00000000..e47459cd --- /dev/null +++ b/threads/imports/imports.136.wat @@ -0,0 +1 @@ +(global i64 (i64.const 0)) (import "" "" (table 0 funcref)) \ No newline at end of file diff --git a/threads/imports/imports.137.wat b/threads/imports/imports.137.wat new file mode 100644 index 00000000..1420aecb --- /dev/null +++ b/threads/imports/imports.137.wat @@ -0,0 +1 @@ +(global i64 (i64.const 0)) (import "" "" (memory 0)) \ No newline at end of file diff --git a/threads/imports/imports.138.wat b/threads/imports/imports.138.wat new file mode 100644 index 00000000..9d02ae0f --- /dev/null +++ b/threads/imports/imports.138.wat @@ -0,0 +1 @@ +(table 0 funcref) (import "" "" (func)) \ No newline at end of file diff --git a/threads/imports/imports.139.wat b/threads/imports/imports.139.wat new file mode 100644 index 00000000..4005146b --- /dev/null +++ b/threads/imports/imports.139.wat @@ -0,0 +1 @@ +(table 0 funcref) (import "" "" (global i32)) \ No newline at end of file diff --git a/threads/imports/imports.14.wasm b/threads/imports/imports.14.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fd7a0a7965454fdd097633ff377774d493866c97 GIT binary patch literal 30 lcmZQbEY4+QU|?WmWlUhKXJF!GWGP84E@4S4%}Zur002zT1+D-9 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.140.wat b/threads/imports/imports.140.wat new file mode 100644 index 00000000..9dbf7fe2 --- /dev/null +++ b/threads/imports/imports.140.wat @@ -0,0 +1 @@ +(table 0 funcref) (import "" "" (table 0 funcref)) \ No newline at end of file diff --git a/threads/imports/imports.141.wat b/threads/imports/imports.141.wat new file mode 100644 index 00000000..ee4b9083 --- /dev/null +++ b/threads/imports/imports.141.wat @@ -0,0 +1 @@ +(table 0 funcref) (import "" "" (memory 0)) \ No newline at end of file diff --git a/threads/imports/imports.142.wat b/threads/imports/imports.142.wat new file mode 100644 index 00000000..deb39802 --- /dev/null +++ b/threads/imports/imports.142.wat @@ -0,0 +1 @@ +(memory 0) (import "" "" (func)) \ No newline at end of file diff --git a/threads/imports/imports.143.wat b/threads/imports/imports.143.wat new file mode 100644 index 00000000..70ac60fc --- /dev/null +++ b/threads/imports/imports.143.wat @@ -0,0 +1 @@ +(memory 0) (import "" "" (global i32)) \ No newline at end of file diff --git a/threads/imports/imports.144.wat b/threads/imports/imports.144.wat new file mode 100644 index 00000000..3aecd543 --- /dev/null +++ b/threads/imports/imports.144.wat @@ -0,0 +1 @@ +(memory 0) (import "" "" (table 1 3 funcref)) \ No newline at end of file diff --git a/threads/imports/imports.145.wat b/threads/imports/imports.145.wat new file mode 100644 index 00000000..975ca634 --- /dev/null +++ b/threads/imports/imports.145.wat @@ -0,0 +1 @@ +(memory 0) (import "" "" (memory 1 2)) \ No newline at end of file diff --git a/threads/imports/imports.146.wasm b/threads/imports/imports.146.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8fc92d022fbf4d1072da17bc8e0840054b51ddc GIT binary patch literal 8 PcmZQbEY4+QU|;|M2ZjMd literal 0 HcmV?d00001 diff --git a/threads/imports/imports.147.wasm b/threads/imports/imports.147.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c7cebb7ae7bd37b2a7b39d53d5a0a8227d91b42a GIT binary patch literal 414 zcmZwDyA6au3`Nmr5C4b~Na<>jAlqfoE`nq}?NSCV;04#gksR1q{$Bwg^WXt51zw8{ z$yTx=Jfv9JN>9o33zO|_xgQthbrOkJVJxy(6n Lj+Eu#pHtuk_8x=D literal 0 HcmV?d00001 diff --git a/threads/imports/imports.15.wasm b/threads/imports/imports.15.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a67a230aa16745f38fb0f7f2428c613055117a60 GIT binary patch literal 30 lcmZQbEY4+QU|?WmWlUgTtY_k7WGP84E@4S4%}Zur002x-1+D-9 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.16.wasm b/threads/imports/imports.16.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fc0333420aacbab37436d83f2756ed050877fc85 GIT binary patch literal 31 mcmZQbEY4+QU|?WmV@zPIXRK%9Wn?KyEiPe6E6q!0U;qGD5e6>+ literal 0 HcmV?d00001 diff --git a/threads/imports/imports.17.wasm b/threads/imports/imports.17.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1b10aa7138f035af20a3a4c72622f34ef80a3275 GIT binary patch literal 33 ocmZQbEY4+QU|?WmVN76PU=n0xDM>9Z;YcgZOV-UaHez4^09-Z(FaQ7m literal 0 HcmV?d00001 diff --git a/threads/imports/imports.18.wasm b/threads/imports/imports.18.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1d576d9bd1add2f661601ae960c53700431b5fac GIT binary patch literal 34 pcmZQbEY4+QU|?WmWlUgTtY;ErWGP84F5yTk%}dtJG&W*j003wC2C)DD literal 0 HcmV?d00001 diff --git a/threads/imports/imports.19.wasm b/threads/imports/imports.19.wasm new file mode 100644 index 0000000000000000000000000000000000000000..01e697f21c789b5ad41f9f1a5e8746880ee446e4 GIT binary patch literal 34 pcmZQbEY4+QU|?WmWlUhKWndCyWGP84F5yTk%}dtJG&W*j003xD2Co1B literal 0 HcmV?d00001 diff --git a/threads/imports/imports.2.wasm b/threads/imports/imports.2.wasm new file mode 100644 index 0000000000000000000000000000000000000000..991362eeb884f1191d59fc9244a3583ea05869f9 GIT binary patch literal 30 lcmZQbEY4+QU|?WmWlUgTtY_k7WGP84E@4S4%}Zur1OQA?1+M@A literal 0 HcmV?d00001 diff --git a/threads/imports/imports.20.wasm b/threads/imports/imports.20.wasm new file mode 100644 index 0000000000000000000000000000000000000000..885d5bd9b212d3be421a93ee19cfafd1cc906e3b GIT binary patch literal 34 pcmZQbEY4+QU|?WmWlUhKV_*_wWGP84F5yTk%}dtJG&W*j003xY2Cx7C literal 0 HcmV?d00001 diff --git a/threads/imports/imports.21.wasm b/threads/imports/imports.21.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d6647f6b58fb03298663a7aaf7400a06012d302e GIT binary patch literal 35 qcmZQbEY4+QU|?WmV@zPIXRK!uWMnBxEiU0mE6q#R%``S*U;qGgz6UY@ literal 0 HcmV?d00001 diff --git a/threads/imports/imports.22.wasm b/threads/imports/imports.22.wasm new file mode 100644 index 0000000000000000000000000000000000000000..55f8407e748c00be75fd9fac9ad0fa72f7e9040b GIT binary patch literal 34 pcmZQbEY4+QU|?WmVN76PU=m_vDM>9Z;Y=&dOV+i^G&W*j003hv25lWGP84F5yfo%}ds`%QQA(U;qGbS_bd{ literal 0 HcmV?d00001 diff --git a/threads/imports/imports.26.wasm b/threads/imports/imports.26.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1104039dad71f1c3b81535ffcb3afdc81f56860c GIT binary patch literal 36 rcmZQbEY4+QU|?WmV@zPIXRK!uVq_^vEiU0qE6q#RwaYX%VqgFOe69Z;Y};eOV-UaHqx~N5)2Fgf(Hk4 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.28.wasm b/threads/imports/imports.28.wasm new file mode 100644 index 0000000000000000000000000000000000000000..76bf13a6c0d60d90589926418439114bf3fd5c79 GIT binary patch literal 39 scmZQbEY4+QU|?WmWlUhKXJ8UzWGP84F5yip%}dtJG&a(;0}>1j0FciI^Z)<= literal 0 HcmV?d00001 diff --git a/threads/imports/imports.29.wasm b/threads/imports/imports.29.wasm new file mode 100644 index 0000000000000000000000000000000000000000..dd4e01d42dc6b7ba83158344d15147ba43793075 GIT binary patch literal 39 scmZQbEY4+QU|?WmWlUgTtY;EqWGP84F5yip%}dtJG&a(;0}>1j0FX}y^Z)<= literal 0 HcmV?d00001 diff --git a/threads/imports/imports.3.wasm b/threads/imports/imports.3.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bc5ef772aafbdbe6fe0fd4eacc199e1c409257bf GIT binary patch literal 68 zcmZQbEY4+QU|?WmWlUhKXJ8Uz9Z;VDT>%1PBVG|9Z;mJ+S%`d9dHPX$@OJiUF0Dh|n^8f$< literal 0 HcmV?d00001 diff --git a/threads/imports/imports.33.wasm b/threads/imports/imports.33.wasm new file mode 100644 index 0000000000000000000000000000000000000000..cb3ee7eb900df8d7d7fe607c39c1c862b7e8f069 GIT binary patch literal 39 ucmZQbEY4+QU|?WmVN76PU=nBKC@x4%E=ese;Y!cRPfE;*&onk-U;qG?90=Y3 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.34.wasm b/threads/imports/imports.34.wasm new file mode 100644 index 0000000000000000000000000000000000000000..638e1684612483b20fdefc62d40e5ef91b8980bb GIT binary patch literal 34 pcmZQbEY4+QU|?WmVN76PU=m{FC@x4%E=eseVJ%5a%1LEl003yK2R;A* literal 0 HcmV?d00001 diff --git a/threads/imports/imports.35.wasm b/threads/imports/imports.35.wasm new file mode 100644 index 0000000000000000000000000000000000000000..89bfb0a9bf051d5f46c2f51a202f0e05c2c82587 GIT binary patch literal 35 qcmZQbEY4+QU|?WmVN76PU=n8JC@x4%E=eseVarX;%`d8CU;qGd+6U19 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.36.wasm b/threads/imports/imports.36.wasm new file mode 100644 index 0000000000000000000000000000000000000000..02d027c164838548daa25b2f5ee5fb7c3727f4ae GIT binary patch literal 245 zcmZQbEY4+QU|?WmWlUgTtY=!p$j(t*keXbQT3o`Fo|B)Hm=m9AY{Xp8KqFx@6XrTh zv(tc9)?yI`s;*&RW@Q1on1Nl9g*833MAv|U0ZbbLJptlZFff7XN(N>wQ5F^kWd?2_ M!3ZLlKm;>40A!{>XaE2J literal 0 HcmV?d00001 diff --git a/threads/imports/imports.37.wasm b/threads/imports/imports.37.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e382fa9b0f2745e97c381fa9539448e6ec2ea48e GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+bv>He#-4003hN2NnPT literal 0 HcmV?d00001 diff --git a/threads/imports/imports.38.wasm b/threads/imports/imports.38.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bf0e2b1528426308e7d2489f93b8582bc75e70d9 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+XCVHe#-2003h12N3`O literal 0 HcmV?d00001 diff --git a/threads/imports/imports.39.wasm b/threads/imports/imports.39.wasm new file mode 100644 index 0000000000000000000000000000000000000000..83e63a5651eedc94ba81eb97944ce84001d26db5 GIT binary patch literal 34 pcmZQbEY4+QU|?X9U}PytEiU0p&&f|p%+bv)Ez!+1Ghwb{1OSK~2&Mo4 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.4.wasm b/threads/imports/imports.4.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c197bb6240d77723725e5574b45eeb52d9548ee5 GIT binary patch literal 75 zcmZQbEY4+QU|?Y6W=deJXGmbGuV<`h5@X~jE=Wx-Ni8nnEGWv%D~ZoEHez64W@2Py V=Ve3^V&vjvWM@!dP+-jB1^{d;4^aRB literal 0 HcmV?d00001 diff --git a/threads/imports/imports.40.wasm b/threads/imports/imports.40.wasm new file mode 100644 index 0000000000000000000000000000000000000000..0bd2ff71c43675c84e39506d9609badf07f148f2 GIT binary patch literal 27 icmZQbEY4+QU|?VpWMnBxEiPd%&CAZqFVADHX8-_Cga)(# literal 0 HcmV?d00001 diff --git a/threads/imports/imports.41.wasm b/threads/imports/imports.41.wasm new file mode 100644 index 0000000000000000000000000000000000000000..82f7f25d0a18a808734d6cb9bc5c90bfeac375a8 GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPd%&CAZqFVADHX8-_l<_Kp1 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.42.wasm b/threads/imports/imports.42.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c871973520c6391d010275dc5b3ea114e53676a9 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+bv>He#-0003hL2NeJS literal 0 HcmV?d00001 diff --git a/threads/imports/imports.43.wasm b/threads/imports/imports.43.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ba13df739e8447884f51676f655fb2feb49e36d7 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+bv>He#-2003hJ2NVDR literal 0 HcmV?d00001 diff --git a/threads/imports/imports.44.wasm b/threads/imports/imports.44.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8400d5aac0e48edfcf6ae5485dbc66ee6e6948e7 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+bv>He#+}003hH2NM7Q literal 0 HcmV?d00001 diff --git a/threads/imports/imports.45.wasm b/threads/imports/imports.45.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fddf15b8ba6117e34dd7eb8c271c1612ed1b41e1 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+bv>He#-41OQ_S2NwVU literal 0 HcmV?d00001 diff --git a/threads/imports/imports.46.wasm b/threads/imports/imports.46.wasm new file mode 100644 index 0000000000000000000000000000000000000000..777d18eefd32d775abe1eebf9bd4cb527465e50e GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+XCVHe#-4003h52NM7Q literal 0 HcmV?d00001 diff --git a/threads/imports/imports.47.wasm b/threads/imports/imports.47.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2cf69d3493021bf672578d08813e8edf50239f0e GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+XCVHe#-0003h32ND1P literal 0 HcmV?d00001 diff --git a/threads/imports/imports.48.wasm b/threads/imports/imports.48.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a453b7a3ea1d0016aa573ca7ce3bb223bcb28c06 GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+XCVHe#+}003g~2M_=N literal 0 HcmV?d00001 diff --git a/threads/imports/imports.49.wasm b/threads/imports/imports.49.wasm new file mode 100644 index 0000000000000000000000000000000000000000..18de398b68ca13fc9de6fbb594ce6a1a322a58bc GIT binary patch literal 30 lcmZQbEY4+QU|?VpVPq*uEiU0o&&f|p%+XCVHe#-21OQ_62ND1P literal 0 HcmV?d00001 diff --git a/threads/imports/imports.5.wasm b/threads/imports/imports.5.wasm new file mode 100644 index 0000000000000000000000000000000000000000..767dd4cab0f273eebcd0cbd7a600333e5c28ffec GIT binary patch literal 29 kcmZQbEY4+QU|?WmVN76PVB%$DDM>9ZVM!~^OJ-mI078)kEdT%j literal 0 HcmV?d00001 diff --git a/threads/imports/imports.50.wasm b/threads/imports/imports.50.wasm new file mode 100644 index 0000000000000000000000000000000000000000..43e6b9a6d5a7b93f7cf5e4f39c3d321d6e712c42 GIT binary patch literal 34 pcmZQbEY4+QU|?X9U}PytEiU0p&&f|p%+bv)Ez!+1Ghwc01OSL12&Vu5 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.51.wasm b/threads/imports/imports.51.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1328ee256e3aaa14da0639314c66527f0372e043 GIT binary patch literal 34 pcmZQbEY4+QU|?X9U}PytEiU0p&&f|p%+bv)Ez!+1Ghwb}1OSK|2&Di3 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.52.wasm b/threads/imports/imports.52.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d735f6bac5d18d53ff35e6ddd2a9d896abbb7d59 GIT binary patch literal 34 pcmZQbEY4+QU|?X9U}PytEiU0p&&f|p%+bv)Ez!+1Ghwb_1OSK`2&4c2 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.53.wasm b/threads/imports/imports.53.wasm new file mode 100644 index 0000000000000000000000000000000000000000..07b7a8dbce40ad3cb1d9b3eb72a39367866fb5ff GIT binary patch literal 34 pcmZQbEY4+QU|?X9U}PytEiU0p&&f|p%+bv)Ez!+1Ghwb{004*_2&Di3 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.54.wasm b/threads/imports/imports.54.wasm new file mode 100644 index 0000000000000000000000000000000000000000..cd5a9c959feddc8557c46be05143a99523e5b973 GIT binary patch literal 24 fcmZQbEY4+QU|?Y4V`M2wEiPe6E6q!0u4e!MIiv+j literal 0 HcmV?d00001 diff --git a/threads/imports/imports.55.wasm b/threads/imports/imports.55.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4760358307c087d21a858807389bd4a940a44486 GIT binary patch literal 32 ncmZQbEY4+QU|?VpV`M2wEiU0HNleN~)ipHG&CE+ literal 0 HcmV?d00001 diff --git a/threads/imports/imports.6.wasm b/threads/imports/imports.6.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8d7f4e4af60e1c7e48f1e97a45a4f29fa69a22cd GIT binary patch literal 34 pcmZQbEY4+QU|?WmWlUhKXJ8U!WGP84F5yTk%}dtJG&W*j003xt2C)DD literal 0 HcmV?d00001 diff --git a/threads/imports/imports.60.wasm b/threads/imports/imports.60.wasm new file mode 100644 index 0000000000000000000000000000000000000000..27aa8136efeeb19e8dc618b28e6161c149418c86 GIT binary patch literal 90 zcmWm4I}Ua>Isz=*uc_^G`LHvtJ9CM3{vb+wsl5ZgllbSi)&aB!%Dw$+?^Zhh+U hE}4~X*G7MHwlpc00xXvB6h-AWJ>$X(h=G@%Q(oC%4Eq28 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.61.wasm b/threads/imports/imports.61.wasm new file mode 100644 index 0000000000000000000000000000000000000000..27aa8136efeeb19e8dc618b28e6161c149418c86 GIT binary patch literal 90 zcmWm4I}Ua>Isz=*uc_^G`LHvtJ9CM3{vb+wsl5ZgllbSi)&aB!%Dw$+?^Zhh+U hE}4~X*G7MHwlpc00xXvB6h-AWJ>$X(h=G@%Q(oC%4Eq28 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.62.wasm b/threads/imports/imports.62.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4626678ff0f3f41c10a46a11ba5d2aef4816cfb5 GIT binary patch literal 58 ucmZQbEY4+QU|?WUXW}R>NKGzDEiPd#NleN~Wh`J|z#_!L&Q!p_1w;U|5e`uR literal 0 HcmV?d00001 diff --git a/threads/imports/imports.63.wasm b/threads/imports/imports.63.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3cf0083692a28d5522187d3c699aae1a5b04acb7 GIT binary patch literal 33 ocmZQbEY4+QU|?VpXJjc!EiU0HNleN~)ipHG&CE+NKGzDEiPd#NleN~Wh`Li5&-~iod;_G literal 0 HcmV?d00001 diff --git a/threads/imports/imports.79.wasm b/threads/imports/imports.79.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2a6b158a1aa9910060f48a85ce6a1aabc00882a2 GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPd#NleN~Wh`K16#)QllLux1 literal 0 HcmV?d00001 diff --git a/threads/imports/imports.8.wasm b/threads/imports/imports.8.wasm new file mode 100644 index 0000000000000000000000000000000000000000..07b93fb1a414bfb03e680f4d5e2c1e7509486742 GIT binary patch literal 35 qcmZQbEY4+QU|?WmWlUgTtY;EpWGP84F5yfo%}ds`%QQA(U;qGbZwB!I literal 0 HcmV?d00001 diff --git a/threads/imports/imports.80.wasm b/threads/imports/imports.80.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a098343f396baf0c4502176a215b7ab483661c99 GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPd#NleN~Wh`K15CH&gi3ec- literal 0 HcmV?d00001 diff --git a/threads/imports/imports.81.wasm b/threads/imports/imports.81.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bf2cd933c84051f581046235381f96caf1df49fa GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPd#NleN~Wh`Lik^}&5q6csQ literal 0 HcmV?d00001 diff --git a/threads/imports/imports.82.wasm b/threads/imports/imports.82.wasm new file mode 100644 index 0000000000000000000000000000000000000000..60cf1991dd29d3738e98402af8ece66d804efef0 GIT binary patch literal 31 mcmZQbEY4+QU|?VpW#lL>NKGzDEiPd#NleN~Wh`K1l>`88mNKGzDEiPd#NleN~Wh`Li;s*e3mHexJb-~s?@3I`AX literal 0 HcmV?d00001 diff --git a/threads/imports/imports.93.wasm b/threads/imports/imports.93.wasm new file mode 100644 index 0000000000000000000000000000000000000000..5101c52d66b73fbcad66e1df54196070ba292079 GIT binary patch literal 33 ocmZQbEY4+QU|?VpXJjc!EiU27P0h_Os?;^o&CE+i32") (result i32) (i32.const 22)) + (func (export "func->f32") (result f32) (f32.const 11)) + (func (export "func-i32->i32") (param i32) (result i32) (local.get 0)) + (func (export "func-i64->i64") (param i64) (result i64) (local.get 0)) + (global (export "global-i32") i32 (i32.const 55)) + (global (export "global-f32") f32 (f32.const 44)) + (global (export "global-mut-i64") (mut i64) (i64.const 66)) + (table (export "table-10-inf") 10 funcref) + (table (export "table-10-20") 10 20 funcref) + (memory (export "memory-2-inf") 2) + ;; Multiple memories are not yet supported + ;; (memory (export "memory-2-4") 2 4) +) + +(register "test") + + +;; Functions + +(module + (type $func_i32 (func (param i32))) + (type $func_i64 (func (param i64))) + (type $func_f32 (func (param f32))) + (type $func_f64 (func (param f64))) + + (import "spectest" "print_i32" (func (param i32))) + (func (import "spectest" "print_i64") (param i64)) + (import "spectest" "print_i32" (func $print_i32 (param i32))) + (import "spectest" "print_i64" (func $print_i64 (param i64))) + (import "spectest" "print_f32" (func $print_f32 (param f32))) + (import "spectest" "print_f64" (func $print_f64 (param f64))) + (import "spectest" "print_i32_f32" (func $print_i32_f32 (param i32 f32))) + (import "spectest" "print_f64_f64" (func $print_f64_f64 (param f64 f64))) + (func $print_i32-2 (import "spectest" "print_i32") (param i32)) + (func $print_f64-2 (import "spectest" "print_f64") (param f64)) + (import "test" "func-i64->i64" (func $i64->i64 (param i64) (result i64))) + + (func (export "p1") (import "spectest" "print_i32") (param i32)) + (func $p (export "p2") (import "spectest" "print_i32") (param i32)) + (func (export "p3") (export "p4") (import "spectest" "print_i32") (param i32)) + (func (export "p5") (import "spectest" "print_i32") (type 0)) + (func (export "p6") (import "spectest" "print_i32") (type 0) (param i32) (result)) + + (import "spectest" "print_i32" (func (type $forward))) + (func (import "spectest" "print_i32") (type $forward)) + (type $forward (func (param i32))) + + (table funcref (elem $print_i32 $print_f64)) + + (func (export "print32") (param $i i32) + (local $x f32) + (local.set $x (f32.convert_i32_s (local.get $i))) + (call 0 (local.get $i)) + (call $print_i32_f32 + (i32.add (local.get $i) (i32.const 1)) + (f32.const 42) + ) + (call $print_i32 (local.get $i)) + (call $print_i32-2 (local.get $i)) + (call $print_f32 (local.get $x)) + (call_indirect (type $func_i32) (local.get $i) (i32.const 0)) + ) + + (func (export "print64") (param $i i64) + (local $x f64) + (local.set $x (f64.convert_i64_s (call $i64->i64 (local.get $i)))) + (call 1 (local.get $i)) + (call $print_f64_f64 + (f64.add (local.get $x) (f64.const 1)) + (f64.const 53) + ) + (call $print_i64 (local.get $i)) + (call $print_f64 (local.get $x)) + (call $print_f64-2 (local.get $x)) + (call_indirect (type $func_f64) (local.get $x) (i32.const 1)) + ) +) + +(assert_return (invoke "print32" (i32.const 13))) +(assert_return (invoke "print64" (i64.const 24))) + +(assert_invalid + (module + (type (func (result i32))) + (import "test" "func" (func (type 1))) + ) + "unknown type" +) + +;; Export sharing name with import +(module + (import "spectest" "print_i32" (func $imported_print (param i32))) + (func (export "print_i32") (param $i i32) + (call $imported_print (local.get $i)) + ) +) + +(assert_return (invoke "print_i32" (i32.const 13))) + +;; Export sharing name with import +(module + (import "spectest" "print_i32" (func $imported_print (param i32))) + (func (export "print_i32") (param $i i32) (param $j i32) (result i32) + (i32.add (local.get $i) (local.get $j)) + ) +) + +(assert_return (invoke "print_i32" (i32.const 5) (i32.const 11)) (i32.const 16)) + +(module (import "test" "func" (func))) +(module (import "test" "func-i32" (func (param i32)))) +(module (import "test" "func-f32" (func (param f32)))) +(module (import "test" "func->i32" (func (result i32)))) +(module (import "test" "func->f32" (func (result f32)))) +(module (import "test" "func-i32->i32" (func (param i32) (result i32)))) +(module (import "test" "func-i64->i64" (func (param i64) (result i64)))) + +(assert_unlinkable + (module (import "test" "unknown" (func))) + "unknown import" +) +(assert_unlinkable + (module (import "spectest" "unknown" (func))) + "unknown import" +) + +(assert_unlinkable + (module (import "test" "func" (func (param i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func" (func (result i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func" (func (param i32) (result i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32" (func))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32" (func (result i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32" (func (param f32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32" (func (param i64)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32" (func (param i32) (result i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func->i32" (func))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func->i32" (func (param i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func->i32" (func (result f32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func->i32" (func (result i64)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func->i32" (func (param i32) (result i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32->i32" (func))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32->i32" (func (param i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "func-i32->i32" (func (result i32)))) + "incompatible import type" +) + +(assert_unlinkable + (module (import "test" "global-i32" (func (result i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "table-10-inf" (func))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "memory-2-inf" (func))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "global_i32" (func))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "table" (func))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "memory" (func))) + "incompatible import type" +) + + +;; Globals + +(module + (import "spectest" "global_i32" (global i32)) + (global (import "spectest" "global_i32") i32) + + (import "spectest" "global_i32" (global $x i32)) + (global $y (import "spectest" "global_i32") i32) + + (import "spectest" "global_i64" (global i64)) + (import "spectest" "global_f32" (global f32)) + (import "spectest" "global_f64" (global f64)) + + (func (export "get-0") (result i32) (global.get 0)) + (func (export "get-1") (result i32) (global.get 1)) + (func (export "get-x") (result i32) (global.get $x)) + (func (export "get-y") (result i32) (global.get $y)) +) + +(assert_return (invoke "get-0") (i32.const 666)) +(assert_return (invoke "get-1") (i32.const 666)) +(assert_return (invoke "get-x") (i32.const 666)) +(assert_return (invoke "get-y") (i32.const 666)) + +(module (import "test" "global-i32" (global i32))) +(module (import "test" "global-f32" (global f32))) +(module (import "test" "global-mut-i64" (global (mut i64)))) + +(assert_unlinkable + (module (import "test" "unknown" (global i32))) + "unknown import" +) +(assert_unlinkable + (module (import "spectest" "unknown" (global i32))) + "unknown import" +) + +(assert_unlinkable + (module (import "test" "global-i32" (global i64))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-i32" (global f32))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-i32" (global f64))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-i32" (global (mut i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-f32" (global i32))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-f32" (global i64))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-f32" (global f64))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-f32" (global (mut f32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-mut-i64" (global (mut i32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-mut-i64" (global (mut f32)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-mut-i64" (global (mut f64)))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-mut-i64" (global i64))) + "incompatible import type" +) + +(assert_unlinkable + (module (import "test" "func" (global i32))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "table-10-inf" (global i32))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "memory-2-inf" (global i32))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "print_i32" (global i32))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "table" (global i32))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "memory" (global i32))) + "incompatible import type" +) + + +;; Tables + +(module + (type (func (result i32))) + (import "spectest" "table" (table $tab 10 20 funcref)) + (elem (table $tab) (i32.const 1) func $f $g) + + (func (export "call") (param i32) (result i32) + (call_indirect $tab (type 0) (local.get 0)) + ) + (func $f (result i32) (i32.const 11)) + (func $g (result i32) (i32.const 22)) +) + +(assert_trap (invoke "call" (i32.const 0)) "uninitialized element") +(assert_return (invoke "call" (i32.const 1)) (i32.const 11)) +(assert_return (invoke "call" (i32.const 2)) (i32.const 22)) +(assert_trap (invoke "call" (i32.const 3)) "uninitialized element") +(assert_trap (invoke "call" (i32.const 100)) "undefined element") + + +(module + (type (func (result i32))) + (table $tab (import "spectest" "table") 10 20 funcref) + (elem (table $tab) (i32.const 1) func $f $g) + + (func (export "call") (param i32) (result i32) + (call_indirect $tab (type 0) (local.get 0)) + ) + (func $f (result i32) (i32.const 11)) + (func $g (result i32) (i32.const 22)) +) + +(assert_trap (invoke "call" (i32.const 0)) "uninitialized element") +(assert_return (invoke "call" (i32.const 1)) (i32.const 11)) +(assert_return (invoke "call" (i32.const 2)) (i32.const 22)) +(assert_trap (invoke "call" (i32.const 3)) "uninitialized element") +(assert_trap (invoke "call" (i32.const 100)) "undefined element") + + +(module + (import "spectest" "table" (table 0 funcref)) + (import "spectest" "table" (table 0 funcref)) + (table 10 funcref) + (table 10 funcref) +) + +(module (import "test" "table-10-inf" (table 10 funcref))) +(module (import "test" "table-10-inf" (table 5 funcref))) +(module (import "test" "table-10-inf" (table 0 funcref))) +(module (import "test" "table-10-20" (table 10 funcref))) +(module (import "test" "table-10-20" (table 5 funcref))) +(module (import "test" "table-10-20" (table 0 funcref))) +(module (import "test" "table-10-20" (table 10 20 funcref))) +(module (import "test" "table-10-20" (table 5 20 funcref))) +(module (import "test" "table-10-20" (table 0 20 funcref))) +(module (import "test" "table-10-20" (table 10 25 funcref))) +(module (import "test" "table-10-20" (table 5 25 funcref))) +(module (import "test" "table-10-20" (table 0 25 funcref))) +(module (import "spectest" "table" (table 10 funcref))) +(module (import "spectest" "table" (table 5 funcref))) +(module (import "spectest" "table" (table 0 funcref))) +(module (import "spectest" "table" (table 10 20 funcref))) +(module (import "spectest" "table" (table 5 20 funcref))) +(module (import "spectest" "table" (table 0 20 funcref))) +(module (import "spectest" "table" (table 10 25 funcref))) +(module (import "spectest" "table" (table 5 25 funcref))) + +(assert_unlinkable + (module (import "test" "unknown" (table 10 funcref))) + "unknown import" +) +(assert_unlinkable + (module (import "spectest" "unknown" (table 10 funcref))) + "unknown import" +) + +(assert_unlinkable + (module (import "test" "table-10-inf" (table 12 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "table-10-inf" (table 10 20 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "table-10-20" (table 12 20 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "table-10-20" (table 10 18 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "table" (table 12 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "table" (table 10 15 funcref))) + "incompatible import type" +) + +(assert_unlinkable + (module (import "test" "func" (table 10 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-i32" (table 10 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "memory-2-inf" (table 10 funcref))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "print_i32" (table 10 funcref))) + "incompatible import type" +) + + + +;; Memories + +(module + (import "spectest" "memory" (memory 1 2)) + (data (memory 0) (i32.const 10) "\10") + + (func (export "load") (param i32) (result i32) (i32.load (local.get 0))) +) + +(assert_return (invoke "load" (i32.const 0)) (i32.const 0)) +(assert_return (invoke "load" (i32.const 10)) (i32.const 16)) +(assert_return (invoke "load" (i32.const 8)) (i32.const 0x100000)) +(assert_trap (invoke "load" (i32.const 1000000)) "out of bounds memory access") + +(module + (memory (import "spectest" "memory") 1 2) + (data (memory 0) (i32.const 10) "\10") + + (func (export "load") (param i32) (result i32) (i32.load (local.get 0))) +) +(assert_return (invoke "load" (i32.const 0)) (i32.const 0)) +(assert_return (invoke "load" (i32.const 10)) (i32.const 16)) +(assert_return (invoke "load" (i32.const 8)) (i32.const 0x100000)) +(assert_trap (invoke "load" (i32.const 1000000)) "out of bounds memory access") + +(assert_invalid + (module (import "" "" (memory 1)) (import "" "" (memory 1))) + "multiple memories" +) +(assert_invalid + (module (import "" "" (memory 1)) (memory 0)) + "multiple memories" +) +(assert_invalid + (module (memory 0) (memory 0)) + "multiple memories" +) + +(module (import "test" "memory-2-inf" (memory 2))) +(module (import "test" "memory-2-inf" (memory 1))) +(module (import "test" "memory-2-inf" (memory 0))) +(module (import "spectest" "memory" (memory 1))) +(module (import "spectest" "memory" (memory 0))) +(module (import "spectest" "memory" (memory 1 2))) +(module (import "spectest" "memory" (memory 0 2))) +(module (import "spectest" "memory" (memory 1 3))) +(module (import "spectest" "memory" (memory 0 3))) + +(assert_unlinkable + (module (import "test" "unknown" (memory 1))) + "unknown import" +) +(assert_unlinkable + (module (import "spectest" "unknown" (memory 1))) + "unknown import" +) + +(assert_unlinkable + (module (import "test" "memory-2-inf" (memory 3))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "memory-2-inf" (memory 2 3))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "memory" (memory 2))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "memory" (memory 1 1))) + "incompatible import type" +) + +(assert_unlinkable + (module (import "test" "func-i32" (memory 1))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "global-i32" (memory 1))) + "incompatible import type" +) +(assert_unlinkable + (module (import "test" "table-10-inf" (memory 1))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "print_i32" (memory 1))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "global_i32" (memory 1))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "table" (memory 1))) + "incompatible import type" +) + +(assert_unlinkable + (module (import "spectest" "memory" (memory 2))) + "incompatible import type" +) +(assert_unlinkable + (module (import "spectest" "memory" (memory 1 1))) + "incompatible import type" +) + +(module + (import "spectest" "memory" (memory 0 3)) ;; actual has max size 2 + (func (export "grow") (param i32) (result i32) (memory.grow (local.get 0))) +) +(assert_return (invoke "grow" (i32.const 0)) (i32.const 1)) +(assert_return (invoke "grow" (i32.const 1)) (i32.const 1)) +(assert_return (invoke "grow" (i32.const 0)) (i32.const 2)) +(assert_return (invoke "grow" (i32.const 1)) (i32.const -1)) +(assert_return (invoke "grow" (i32.const 0)) (i32.const 2)) + +(module $Mgm + (memory (export "memory") 1) ;; initial size is 1 + (func (export "grow") (result i32) (memory.grow (i32.const 1))) +) +(register "grown-memory" $Mgm) +(assert_return (invoke $Mgm "grow") (i32.const 1)) ;; now size is 2 +(module $Mgim1 + ;; imported memory limits should match, because external memory size is 2 now + (memory (export "memory") (import "grown-memory" "memory") 2) + (func (export "grow") (result i32) (memory.grow (i32.const 1))) +) +(register "grown-imported-memory" $Mgim1) +(assert_return (invoke $Mgim1 "grow") (i32.const 2)) ;; now size is 3 +(module $Mgim2 + ;; imported memory limits should match, because external memory size is 3 now + (import "grown-imported-memory" "memory" (memory 3)) + (func (export "size") (result i32) (memory.size)) +) +(assert_return (invoke $Mgim2 "size") (i32.const 3)) + + +;; Shared Memory + +(module (import "spectest" "shared_memory" (memory 1 2 shared))) + +(assert_unlinkable + (module (import "spectest" "shared_memory" (memory 1 2))) + "incompatible import type") + +(assert_unlinkable + (module (import "spectest" "memory" (memory 1 2 shared))) + "incompatible import type") + + +;; Syntax errors + +(assert_malformed + (module quote "(func) (import \"\" \"\" (func))") + "import after function" +) +(assert_malformed + (module quote "(func) (import \"\" \"\" (global i64))") + "import after function" +) +(assert_malformed + (module quote "(func) (import \"\" \"\" (table 0 funcref))") + "import after function" +) +(assert_malformed + (module quote "(func) (import \"\" \"\" (memory 0))") + "import after function" +) + +(assert_malformed + (module quote "(global i64 (i64.const 0)) (import \"\" \"\" (func))") + "import after global" +) +(assert_malformed + (module quote "(global i64 (i64.const 0)) (import \"\" \"\" (global f32))") + "import after global" +) +(assert_malformed + (module quote "(global i64 (i64.const 0)) (import \"\" \"\" (table 0 funcref))") + "import after global" +) +(assert_malformed + (module quote "(global i64 (i64.const 0)) (import \"\" \"\" (memory 0))") + "import after global" +) + +(assert_malformed + (module quote "(table 0 funcref) (import \"\" \"\" (func))") + "import after table" +) +(assert_malformed + (module quote "(table 0 funcref) (import \"\" \"\" (global i32))") + "import after table" +) +(assert_malformed + (module quote "(table 0 funcref) (import \"\" \"\" (table 0 funcref))") + "import after table" +) +(assert_malformed + (module quote "(table 0 funcref) (import \"\" \"\" (memory 0))") + "import after table" +) + +(assert_malformed + (module quote "(memory 0) (import \"\" \"\" (func))") + "import after memory" +) +(assert_malformed + (module quote "(memory 0) (import \"\" \"\" (global i32))") + "import after memory" +) +(assert_malformed + (module quote "(memory 0) (import \"\" \"\" (table 1 3 funcref))") + "import after memory" +) +(assert_malformed + (module quote "(memory 0) (import \"\" \"\" (memory 1 2))") + "import after memory" +) + +;; This module is required to validate, regardless of whether it can be +;; linked. Overloading is not possible in wasm itself, but it is possible +;; in modules from which wasm can import. +(module) +(register "not wasm") +(assert_unlinkable + (module + (import "not wasm" "overloaded" (func)) + (import "not wasm" "overloaded" (func (param i32))) + (import "not wasm" "overloaded" (func (param i32 i32))) + (import "not wasm" "overloaded" (func (param i64))) + (import "not wasm" "overloaded" (func (param f32))) + (import "not wasm" "overloaded" (func (param f64))) + (import "not wasm" "overloaded" (func (result i32))) + (import "not wasm" "overloaded" (func (result i64))) + (import "not wasm" "overloaded" (func (result f32))) + (import "not wasm" "overloaded" (func (result f64))) + (import "not wasm" "overloaded" (global i32)) + (import "not wasm" "overloaded" (global i64)) + (import "not wasm" "overloaded" (global f32)) + (import "not wasm" "overloaded" (global f64)) + (import "not wasm" "overloaded" (table 0 funcref)) + (import "not wasm" "overloaded" (memory 0)) + ) + "unknown import" +) diff --git a/threads/memory/memory.0.wasm b/threads/memory/memory.0.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b55aac61b03138faafa6f8565f63fa64392f055f GIT binary patch literal 13 ScmZQbEY4+QU|?Wn29f{`{Q*n> literal 0 HcmV?d00001 diff --git a/threads/memory/memory.1.wasm b/threads/memory/memory.1.wasm new file mode 100644 index 0000000000000000000000000000000000000000..67d6849c74838975793d0355a2fcc483d91b53ef GIT binary patch literal 13 UcmZQbEY4+QU|?WnW@KOl01f^DO#lD@ literal 0 HcmV?d00001 diff --git a/threads/memory/memory.10.wasm b/threads/memory/memory.10.wasm new file mode 100644 index 0000000000000000000000000000000000000000..0f5e6c6d904e71176819347199bb2758f937915b GIT binary patch literal 35 pcmZQbEY4+QU|?VpVdN+-NKGzDEiPfpP0h_Os$^ndU}Xl%0RWAF2X_Df literal 0 HcmV?d00001 diff --git a/threads/memory/memory.11.wasm b/threads/memory/memory.11.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8f3946825e83d2ccdeef526b4e72c92b29cbab85 GIT binary patch literal 54 zcmWN_DH4D%5CFj$$Wg^UisC0AA`q+MFnk?aHrGr6t0%teBDMHW4||TB_cLH?7Iq?< G90VV;eg+Hx literal 0 HcmV?d00001 diff --git a/threads/memory/memory.12.wasm b/threads/memory/memory.12.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8f3946825e83d2ccdeef526b4e72c92b29cbab85 GIT binary patch literal 54 zcmWN_DH4D%5CFj$$Wg^UisC0AA`q+MFnk?aHrGr6t0%teBDMHW4||TB_cLH?7Iq?< G90VV;eg+Hx literal 0 HcmV?d00001 diff --git a/threads/memory/memory.13.wasm b/threads/memory/memory.13.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6591570f72fe0964d2a0dad182461854f82ab4f4 GIT binary patch literal 55 zcmWN;Ar62r5CFklXlcSditrN<6^K(c1jE;1hI6EV)dSyol3M(=uw~D2JssA?!bU`s Ho$&qux=RL# literal 0 HcmV?d00001 diff --git a/threads/memory/memory.14.wasm b/threads/memory/memory.14.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e00ce9ca76f56574e792405116fcdcf0f03c82c7 GIT binary patch literal 16 XcmZQbEY4+QU|`^8V`Ok-;AQ{-6F>o> literal 0 HcmV?d00001 diff --git a/threads/memory/memory.15.wasm b/threads/memory/memory.15.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e00ce9ca76f56574e792405116fcdcf0f03c82c7 GIT binary patch literal 16 XcmZQbEY4+QU|`^8V`Ok-;AQ{-6F>o> literal 0 HcmV?d00001 diff --git a/threads/memory/memory.16.wasm b/threads/memory/memory.16.wasm new file mode 100644 index 0000000000000000000000000000000000000000..82074b41889ffbf2a316f1739a3c9713edda1d86 GIT binary patch literal 17 YcmZQbEY4+QU|`^8XJl|>;AX4<02N~b8vph($ literal 0 HcmV?d00001 diff --git a/threads/memory/memory.21.wasm b/threads/memory/memory.21.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4bfd2bff807bc743a59dec5f2f4083588692a78e GIT binary patch literal 27 icmZQbEY4+QU|?WmVN76PU}j=u;9_TFWw2+E;syXHCju$} literal 0 HcmV?d00001 diff --git a/threads/memory/memory.22.wasm b/threads/memory/memory.22.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a3e62a9818a0c044ddbe485458ce8d0174298bf4 GIT binary patch literal 29 kcmZQbEY4+QU|?WmVN76PU}j=u;NoOtXK-Y2V36Vl04-qxZ~y=R literal 0 HcmV?d00001 diff --git a/threads/memory/memory.23.wasm b/threads/memory/memory.23.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d09cfb187ce4bb225a4c381da76a74e982ee5be6 GIT binary patch literal 14 VcmZQbEY4+QU|?WnVPs@v000kD0Z#w` literal 0 HcmV?d00001 diff --git a/threads/memory/memory.24.wasm b/threads/memory/memory.24.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6f2d7eb15e502576a113677b03ef203ffc7f7ec6 GIT binary patch literal 15 WcmZQbEY4+QU|?WnWn^epgq?0&xP(SFBpTC{?g;oM#1)TWTo_lb zeH^`0>7?9bGUvPJ+&jr2N}dS-)$B27$!9*MB@0^6LhSe;i%VqX2m+Pg$hRlaECTGu zD4BuewACCvy+o7VD1lX=6vEHFMu$zih$$R7?X=BgsX!^pe(q(HZV^*>2Kng(l_I8) zm6he+LE#8c9~dg3#hQk(Drv=?+W#HLD$weOTYFl3gG2k9&~G_U#j*$GhF_~?SForH zX#F19*8~2$tg2FZA-cSysy<(-&%&z%a+mW5IA?SZw~?1`+&-~;Oj~$j@Iud?ns9~< ngO_@?X~G${3|?96wyk_~hG&d2U<1-o;mvvg6-fI*-QWHJn?qei literal 0 HcmV?d00001 diff --git a/threads/memory/memory.34.wat b/threads/memory/memory.34.wat new file mode 100644 index 00000000..98bceea6 --- /dev/null +++ b/threads/memory/memory.34.wat @@ -0,0 +1 @@ +(memory $foo 1)(memory $foo 1) \ No newline at end of file diff --git a/threads/memory/memory.35.wat b/threads/memory/memory.35.wat new file mode 100644 index 00000000..bce7a81e --- /dev/null +++ b/threads/memory/memory.35.wat @@ -0,0 +1 @@ +(import "" "" (memory $foo 1))(memory $foo 1) \ No newline at end of file diff --git a/threads/memory/memory.36.wat b/threads/memory/memory.36.wat new file mode 100644 index 00000000..54dc409e --- /dev/null +++ b/threads/memory/memory.36.wat @@ -0,0 +1 @@ +(import "" "" (memory $foo 1))(import "" "" (memory $foo 1)) \ No newline at end of file diff --git a/threads/memory/memory.4.wasm b/threads/memory/memory.4.wasm new file mode 100644 index 0000000000000000000000000000000000000000..64ffe0388be981dbeeed2b03985a55a4c5258356 GIT binary patch literal 15 WcmZQbEY4+QU|?WnWn^S*U;+RUssYjf literal 0 HcmV?d00001 diff --git a/threads/memory/memory.5.wasm b/threads/memory/memory.5.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d3e64161468541fa78f435bd9d7243d4b0904fde GIT binary patch literal 16 XcmZQbEY4+QU|?WnV`OA#XkY;V6n_F# literal 0 HcmV?d00001 diff --git a/threads/memory/memory.6.wasm b/threads/memory/memory.6.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7a0233b247cd73012dad0810d58ca206e60020f0 GIT binary patch literal 14 VcmZQbEY4+QU|?WnVPs}t000kH0Z;${ literal 0 HcmV?d00001 diff --git a/threads/memory/memory.7.wasm b/threads/memory/memory.7.wasm new file mode 100644 index 0000000000000000000000000000000000000000..63ff5d1daa03fed72b46aa0e89c62b54290f9caa GIT binary patch literal 14 VcmZQbEY4+QU|?WnVPs}x0ss$N0aE|~ literal 0 HcmV?d00001 diff --git a/threads/memory/memory.8.wasm b/threads/memory/memory.8.wasm new file mode 100644 index 0000000000000000000000000000000000000000..924dc2c7a4c51d4586fc4a87bca199f7f69de810 GIT binary patch literal 13 UcmZQbEY4+QU|?WnW@KUn01g5HPXGV_ literal 0 HcmV?d00001 diff --git a/threads/memory/memory.9.wasm b/threads/memory/memory.9.wasm new file mode 100644 index 0000000000000000000000000000000000000000..97c84e5fe405af5a497bcc718af37665b8b560c8 GIT binary patch literal 15 UcmZQbEY4+QU|?WnWdf2601&1DPXGV_ literal 0 HcmV?d00001 diff --git a/threads/memory/memory.json b/threads/memory/memory.json new file mode 100644 index 00000000..ecd91c4b --- /dev/null +++ b/threads/memory/memory.json @@ -0,0 +1,84 @@ +{"source_filename": "memory.wast", + "commands": [ + {"type": "module", "line": 3, "filename": "memory.0.wasm"}, + {"type": "module", "line": 4, "filename": "memory.1.wasm"}, + {"type": "module", "line": 5, "filename": "memory.2.wasm"}, + {"type": "module", "line": 6, "filename": "memory.3.wasm"}, + {"type": "module", "line": 7, "filename": "memory.4.wasm"}, + {"type": "module", "line": 8, "filename": "memory.5.wasm"}, + {"type": "module", "line": 9, "filename": "memory.6.wasm"}, + {"type": "module", "line": 10, "filename": "memory.7.wasm"}, + {"type": "assert_invalid", "line": 12, "filename": "memory.8.wasm", "text": "shared memory must have maximum", "module_type": "binary"}, + {"type": "assert_invalid", "line": 14, "filename": "memory.9.wasm", "text": "multiple memories", "module_type": "binary"}, + {"type": "assert_invalid", "line": 15, "filename": "memory.10.wasm", "text": "multiple memories", "module_type": "binary"}, + {"type": "module", "line": 17, "filename": "memory.11.wasm"}, + {"type": "assert_return", "line": 18, "action": {"type": "invoke", "field": "memsize", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, + {"type": "module", "line": 19, "filename": "memory.12.wasm"}, + {"type": "assert_return", "line": 20, "action": {"type": "invoke", "field": "memsize", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, + {"type": "module", "line": 21, "filename": "memory.13.wasm"}, + {"type": "assert_return", "line": 22, "action": {"type": "invoke", "field": "memsize", "args": []}, "expected": [{"type": "i32", "value": "1"}]}, + {"type": "assert_invalid", "line": 24, "filename": "memory.14.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 25, "filename": "memory.15.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 26, "filename": "memory.16.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 29, "filename": "memory.17.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 33, "filename": "memory.18.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 37, "filename": "memory.19.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 41, "filename": "memory.20.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 45, "filename": "memory.21.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 49, "filename": "memory.22.wasm", "text": "unknown memory", "module_type": "binary"}, + {"type": "assert_invalid", "line": 55, "filename": "memory.23.wasm", "text": "size minimum must not be greater than maximum", "module_type": "binary"}, + {"type": "assert_invalid", "line": 59, "filename": "memory.24.wasm", "text": "memory size must be at most 65536 pages (4GiB)", "module_type": "binary"}, + {"type": "assert_invalid", "line": 63, "filename": "memory.25.wasm", "text": "memory size must be at most 65536 pages (4GiB)", "module_type": "binary"}, + {"type": "assert_invalid", "line": 67, "filename": "memory.26.wasm", "text": "memory size must be at most 65536 pages (4GiB)", "module_type": "binary"}, + {"type": "assert_invalid", "line": 71, "filename": "memory.27.wasm", "text": "memory size must be at most 65536 pages (4GiB)", "module_type": "binary"}, + {"type": "assert_invalid", "line": 75, "filename": "memory.28.wasm", "text": "memory size must be at most 65536 pages (4GiB)", "module_type": "binary"}, + {"type": "assert_invalid", "line": 79, "filename": "memory.29.wasm", "text": "memory size must be at most 65536 pages (4GiB)", "module_type": "binary"}, + {"type": "assert_malformed", "line": 84, "filename": "memory.30.wat", "text": "i32 constant out of range", "module_type": "text"}, + {"type": "assert_malformed", "line": 88, "filename": "memory.31.wat", "text": "i32 constant out of range", "module_type": "text"}, + {"type": "assert_malformed", "line": 92, "filename": "memory.32.wat", "text": "i32 constant out of range", "module_type": "text"}, + {"type": "module", "line": 96, "filename": "memory.33.wasm"}, + {"type": "assert_return", "line": 184, "action": {"type": "invoke", "field": "data", "args": []}, "expected": [{"type": "i32", "value": "1"}]}, + {"type": "assert_return", "line": 185, "action": {"type": "invoke", "field": "cast", "args": []}, "expected": [{"type": "f64", "value": "4631107791820423168"}]}, + {"type": "assert_return", "line": 187, "action": {"type": "invoke", "field": "i32_load8_s", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, + {"type": "assert_return", "line": 188, "action": {"type": "invoke", "field": "i32_load8_u", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "255"}]}, + {"type": "assert_return", "line": 189, "action": {"type": "invoke", "field": "i32_load16_s", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, + {"type": "assert_return", "line": 190, "action": {"type": "invoke", "field": "i32_load16_u", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "65535"}]}, + {"type": "assert_return", "line": 192, "action": {"type": "invoke", "field": "i32_load8_s", "args": [{"type": "i32", "value": "100"}]}, "expected": [{"type": "i32", "value": "100"}]}, + {"type": "assert_return", "line": 193, "action": {"type": "invoke", "field": "i32_load8_u", "args": [{"type": "i32", "value": "200"}]}, "expected": [{"type": "i32", "value": "200"}]}, + {"type": "assert_return", "line": 194, "action": {"type": "invoke", "field": "i32_load16_s", "args": [{"type": "i32", "value": "20000"}]}, "expected": [{"type": "i32", "value": "20000"}]}, + {"type": "assert_return", "line": 195, "action": {"type": "invoke", "field": "i32_load16_u", "args": [{"type": "i32", "value": "40000"}]}, "expected": [{"type": "i32", "value": "40000"}]}, + {"type": "assert_return", "line": 197, "action": {"type": "invoke", "field": "i32_load8_s", "args": [{"type": "i32", "value": "4275856707"}]}, "expected": [{"type": "i32", "value": "67"}]}, + {"type": "assert_return", "line": 198, "action": {"type": "invoke", "field": "i32_load8_s", "args": [{"type": "i32", "value": "878104047"}]}, "expected": [{"type": "i32", "value": "4294967279"}]}, + {"type": "assert_return", "line": 199, "action": {"type": "invoke", "field": "i32_load8_u", "args": [{"type": "i32", "value": "4275856707"}]}, "expected": [{"type": "i32", "value": "67"}]}, + {"type": "assert_return", "line": 200, "action": {"type": "invoke", "field": "i32_load8_u", "args": [{"type": "i32", "value": "878104047"}]}, "expected": [{"type": "i32", "value": "239"}]}, + {"type": "assert_return", "line": 201, "action": {"type": "invoke", "field": "i32_load16_s", "args": [{"type": "i32", "value": "4275856707"}]}, "expected": [{"type": "i32", "value": "25923"}]}, + {"type": "assert_return", "line": 202, "action": {"type": "invoke", "field": "i32_load16_s", "args": [{"type": "i32", "value": "878104047"}]}, "expected": [{"type": "i32", "value": "4294954479"}]}, + {"type": "assert_return", "line": 203, "action": {"type": "invoke", "field": "i32_load16_u", "args": [{"type": "i32", "value": "4275856707"}]}, "expected": [{"type": "i32", "value": "25923"}]}, + {"type": "assert_return", "line": 204, "action": {"type": "invoke", "field": "i32_load16_u", "args": [{"type": "i32", "value": "878104047"}]}, "expected": [{"type": "i32", "value": "52719"}]}, + {"type": "assert_return", "line": 206, "action": {"type": "invoke", "field": "i64_load8_s", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "18446744073709551615"}]}, + {"type": "assert_return", "line": 207, "action": {"type": "invoke", "field": "i64_load8_u", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "255"}]}, + {"type": "assert_return", "line": 208, "action": {"type": "invoke", "field": "i64_load16_s", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "18446744073709551615"}]}, + {"type": "assert_return", "line": 209, "action": {"type": "invoke", "field": "i64_load16_u", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "65535"}]}, + {"type": "assert_return", "line": 210, "action": {"type": "invoke", "field": "i64_load32_s", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "18446744073709551615"}]}, + {"type": "assert_return", "line": 211, "action": {"type": "invoke", "field": "i64_load32_u", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "4294967295"}]}, + {"type": "assert_return", "line": 213, "action": {"type": "invoke", "field": "i64_load8_s", "args": [{"type": "i64", "value": "100"}]}, "expected": [{"type": "i64", "value": "100"}]}, + {"type": "assert_return", "line": 214, "action": {"type": "invoke", "field": "i64_load8_u", "args": [{"type": "i64", "value": "200"}]}, "expected": [{"type": "i64", "value": "200"}]}, + {"type": "assert_return", "line": 215, "action": {"type": "invoke", "field": "i64_load16_s", "args": [{"type": "i64", "value": "20000"}]}, "expected": [{"type": "i64", "value": "20000"}]}, + {"type": "assert_return", "line": 216, "action": {"type": "invoke", "field": "i64_load16_u", "args": [{"type": "i64", "value": "40000"}]}, "expected": [{"type": "i64", "value": "40000"}]}, + {"type": "assert_return", "line": 217, "action": {"type": "invoke", "field": "i64_load32_s", "args": [{"type": "i64", "value": "20000"}]}, "expected": [{"type": "i64", "value": "20000"}]}, + {"type": "assert_return", "line": 218, "action": {"type": "invoke", "field": "i64_load32_u", "args": [{"type": "i64", "value": "40000"}]}, "expected": [{"type": "i64", "value": "40000"}]}, + {"type": "assert_return", "line": 220, "action": {"type": "invoke", "field": "i64_load8_s", "args": [{"type": "i64", "value": "18364758543954109763"}]}, "expected": [{"type": "i64", "value": "67"}]}, + {"type": "assert_return", "line": 221, "action": {"type": "invoke", "field": "i64_load8_s", "args": [{"type": "i64", "value": "3771275841602506223"}]}, "expected": [{"type": "i64", "value": "18446744073709551599"}]}, + {"type": "assert_return", "line": 222, "action": {"type": "invoke", "field": "i64_load8_u", "args": [{"type": "i64", "value": "18364758543954109763"}]}, "expected": [{"type": "i64", "value": "67"}]}, + {"type": "assert_return", "line": 223, "action": {"type": "invoke", "field": "i64_load8_u", "args": [{"type": "i64", "value": "3771275841602506223"}]}, "expected": [{"type": "i64", "value": "239"}]}, + {"type": "assert_return", "line": 224, "action": {"type": "invoke", "field": "i64_load16_s", "args": [{"type": "i64", "value": "18364758543954109763"}]}, "expected": [{"type": "i64", "value": "25923"}]}, + {"type": "assert_return", "line": 225, "action": {"type": "invoke", "field": "i64_load16_s", "args": [{"type": "i64", "value": "3771275841602506223"}]}, "expected": [{"type": "i64", "value": "18446744073709538799"}]}, + {"type": "assert_return", "line": 226, "action": {"type": "invoke", "field": "i64_load16_u", "args": [{"type": "i64", "value": "18364758543954109763"}]}, "expected": [{"type": "i64", "value": "25923"}]}, + {"type": "assert_return", "line": 227, "action": {"type": "invoke", "field": "i64_load16_u", "args": [{"type": "i64", "value": "3771275841602506223"}]}, "expected": [{"type": "i64", "value": "52719"}]}, + {"type": "assert_return", "line": 228, "action": {"type": "invoke", "field": "i64_load32_s", "args": [{"type": "i64", "value": "18364758543954109763"}]}, "expected": [{"type": "i64", "value": "1446274371"}]}, + {"type": "assert_return", "line": 229, "action": {"type": "invoke", "field": "i64_load32_s", "args": [{"type": "i64", "value": "3771275841602506223"}]}, "expected": [{"type": "i64", "value": "18446744071976963567"}]}, + {"type": "assert_return", "line": 230, "action": {"type": "invoke", "field": "i64_load32_u", "args": [{"type": "i64", "value": "18364758543954109763"}]}, "expected": [{"type": "i64", "value": "1446274371"}]}, + {"type": "assert_return", "line": 231, "action": {"type": "invoke", "field": "i64_load32_u", "args": [{"type": "i64", "value": "3771275841602506223"}]}, "expected": [{"type": "i64", "value": "2562379247"}]}, + {"type": "assert_malformed", "line": 235, "filename": "memory.34.wat", "text": "duplicate memory", "module_type": "text"}, + {"type": "assert_malformed", "line": 239, "filename": "memory.35.wat", "text": "duplicate memory", "module_type": "text"}, + {"type": "assert_malformed", "line": 243, "filename": "memory.36.wat", "text": "duplicate memory", "module_type": "text"}]} diff --git a/threads/memory/memory.wast b/threads/memory/memory.wast new file mode 100644 index 00000000..e10c3497 --- /dev/null +++ b/threads/memory/memory.wast @@ -0,0 +1,246 @@ +;; Test memory section structure + +(module (memory 0)) +(module (memory 1)) +(module (memory 0 0)) +(module (memory 0 1)) +(module (memory 1 256)) +(module (memory 0 65536)) +(module (memory 0 0 shared)) +(module (memory 1 2 shared)) + +(assert_invalid (module (memory 1 shared)) "shared memory must have maximum") + +(assert_invalid (module (memory 0) (memory 0)) "multiple memories") +(assert_invalid (module (memory (import "spectest" "memory") 0) (memory 0)) "multiple memories") + +(module (memory (data)) (func (export "memsize") (result i32) (memory.size))) +(assert_return (invoke "memsize") (i32.const 0)) +(module (memory (data "")) (func (export "memsize") (result i32) (memory.size))) +(assert_return (invoke "memsize") (i32.const 0)) +(module (memory (data "x")) (func (export "memsize") (result i32) (memory.size))) +(assert_return (invoke "memsize") (i32.const 1)) + +(assert_invalid (module (data (i32.const 0))) "unknown memory") +(assert_invalid (module (data (i32.const 0) "")) "unknown memory") +(assert_invalid (module (data (i32.const 0) "x")) "unknown memory") + +(assert_invalid + (module (func (drop (f32.load (i32.const 0))))) + "unknown memory" +) +(assert_invalid + (module (func (f32.store (i32.const 0) (f32.const 0)))) + "unknown memory" +) +(assert_invalid + (module (func (drop (i32.load8_s (i32.const 0))))) + "unknown memory" +) +(assert_invalid + (module (func (i32.store8 (i32.const 0) (i32.const 0)))) + "unknown memory" +) +(assert_invalid + (module (func (drop (memory.size)))) + "unknown memory" +) +(assert_invalid + (module (func (drop (memory.grow (i32.const 0))))) + "unknown memory" +) + + +(assert_invalid + (module (memory 1 0)) + "size minimum must not be greater than maximum" +) +(assert_invalid + (module (memory 65537)) + "memory size must be at most 65536 pages (4GiB)" +) +(assert_invalid + (module (memory 2147483648)) + "memory size must be at most 65536 pages (4GiB)" +) +(assert_invalid + (module (memory 4294967295)) + "memory size must be at most 65536 pages (4GiB)" +) +(assert_invalid + (module (memory 0 65537)) + "memory size must be at most 65536 pages (4GiB)" +) +(assert_invalid + (module (memory 0 2147483648)) + "memory size must be at most 65536 pages (4GiB)" +) +(assert_invalid + (module (memory 0 4294967295)) + "memory size must be at most 65536 pages (4GiB)" +) + +(assert_malformed + (module quote "(memory 0x1_0000_0000)") + "i32 constant out of range" +) +(assert_malformed + (module quote "(memory 0x1_0000_0000 0x1_0000_0000)") + "i32 constant out of range" +) +(assert_malformed + (module quote "(memory 0 0x1_0000_0000)") + "i32 constant out of range" +) + +(module + (memory 1) + (data (i32.const 0) "ABC\a7D") (data (i32.const 20) "WASM") + + ;; Data section + (func (export "data") (result i32) + (i32.and + (i32.and + (i32.and + (i32.eq (i32.load8_u (i32.const 0)) (i32.const 65)) + (i32.eq (i32.load8_u (i32.const 3)) (i32.const 167)) + ) + (i32.and + (i32.eq (i32.load8_u (i32.const 6)) (i32.const 0)) + (i32.eq (i32.load8_u (i32.const 19)) (i32.const 0)) + ) + ) + (i32.and + (i32.and + (i32.eq (i32.load8_u (i32.const 20)) (i32.const 87)) + (i32.eq (i32.load8_u (i32.const 23)) (i32.const 77)) + ) + (i32.and + (i32.eq (i32.load8_u (i32.const 24)) (i32.const 0)) + (i32.eq (i32.load8_u (i32.const 1023)) (i32.const 0)) + ) + ) + ) + ) + + ;; Memory cast + (func (export "cast") (result f64) + (i64.store (i32.const 8) (i64.const -12345)) + (if + (f64.eq + (f64.load (i32.const 8)) + (f64.reinterpret_i64 (i64.const -12345)) + ) + (then (return (f64.const 0))) + ) + (i64.store align=1 (i32.const 9) (i64.const 0)) + (i32.store16 align=1 (i32.const 15) (i32.const 16453)) + (f64.load align=1 (i32.const 9)) + ) + + ;; Sign and zero extending memory loads + (func (export "i32_load8_s") (param $i i32) (result i32) + (i32.store8 (i32.const 8) (local.get $i)) + (i32.load8_s (i32.const 8)) + ) + (func (export "i32_load8_u") (param $i i32) (result i32) + (i32.store8 (i32.const 8) (local.get $i)) + (i32.load8_u (i32.const 8)) + ) + (func (export "i32_load16_s") (param $i i32) (result i32) + (i32.store16 (i32.const 8) (local.get $i)) + (i32.load16_s (i32.const 8)) + ) + (func (export "i32_load16_u") (param $i i32) (result i32) + (i32.store16 (i32.const 8) (local.get $i)) + (i32.load16_u (i32.const 8)) + ) + (func (export "i64_load8_s") (param $i i64) (result i64) + (i64.store8 (i32.const 8) (local.get $i)) + (i64.load8_s (i32.const 8)) + ) + (func (export "i64_load8_u") (param $i i64) (result i64) + (i64.store8 (i32.const 8) (local.get $i)) + (i64.load8_u (i32.const 8)) + ) + (func (export "i64_load16_s") (param $i i64) (result i64) + (i64.store16 (i32.const 8) (local.get $i)) + (i64.load16_s (i32.const 8)) + ) + (func (export "i64_load16_u") (param $i i64) (result i64) + (i64.store16 (i32.const 8) (local.get $i)) + (i64.load16_u (i32.const 8)) + ) + (func (export "i64_load32_s") (param $i i64) (result i64) + (i64.store32 (i32.const 8) (local.get $i)) + (i64.load32_s (i32.const 8)) + ) + (func (export "i64_load32_u") (param $i i64) (result i64) + (i64.store32 (i32.const 8) (local.get $i)) + (i64.load32_u (i32.const 8)) + ) +) + +(assert_return (invoke "data") (i32.const 1)) +(assert_return (invoke "cast") (f64.const 42.0)) + +(assert_return (invoke "i32_load8_s" (i32.const -1)) (i32.const -1)) +(assert_return (invoke "i32_load8_u" (i32.const -1)) (i32.const 255)) +(assert_return (invoke "i32_load16_s" (i32.const -1)) (i32.const -1)) +(assert_return (invoke "i32_load16_u" (i32.const -1)) (i32.const 65535)) + +(assert_return (invoke "i32_load8_s" (i32.const 100)) (i32.const 100)) +(assert_return (invoke "i32_load8_u" (i32.const 200)) (i32.const 200)) +(assert_return (invoke "i32_load16_s" (i32.const 20000)) (i32.const 20000)) +(assert_return (invoke "i32_load16_u" (i32.const 40000)) (i32.const 40000)) + +(assert_return (invoke "i32_load8_s" (i32.const 0xfedc6543)) (i32.const 0x43)) +(assert_return (invoke "i32_load8_s" (i32.const 0x3456cdef)) (i32.const 0xffffffef)) +(assert_return (invoke "i32_load8_u" (i32.const 0xfedc6543)) (i32.const 0x43)) +(assert_return (invoke "i32_load8_u" (i32.const 0x3456cdef)) (i32.const 0xef)) +(assert_return (invoke "i32_load16_s" (i32.const 0xfedc6543)) (i32.const 0x6543)) +(assert_return (invoke "i32_load16_s" (i32.const 0x3456cdef)) (i32.const 0xffffcdef)) +(assert_return (invoke "i32_load16_u" (i32.const 0xfedc6543)) (i32.const 0x6543)) +(assert_return (invoke "i32_load16_u" (i32.const 0x3456cdef)) (i32.const 0xcdef)) + +(assert_return (invoke "i64_load8_s" (i64.const -1)) (i64.const -1)) +(assert_return (invoke "i64_load8_u" (i64.const -1)) (i64.const 255)) +(assert_return (invoke "i64_load16_s" (i64.const -1)) (i64.const -1)) +(assert_return (invoke "i64_load16_u" (i64.const -1)) (i64.const 65535)) +(assert_return (invoke "i64_load32_s" (i64.const -1)) (i64.const -1)) +(assert_return (invoke "i64_load32_u" (i64.const -1)) (i64.const 4294967295)) + +(assert_return (invoke "i64_load8_s" (i64.const 100)) (i64.const 100)) +(assert_return (invoke "i64_load8_u" (i64.const 200)) (i64.const 200)) +(assert_return (invoke "i64_load16_s" (i64.const 20000)) (i64.const 20000)) +(assert_return (invoke "i64_load16_u" (i64.const 40000)) (i64.const 40000)) +(assert_return (invoke "i64_load32_s" (i64.const 20000)) (i64.const 20000)) +(assert_return (invoke "i64_load32_u" (i64.const 40000)) (i64.const 40000)) + +(assert_return (invoke "i64_load8_s" (i64.const 0xfedcba9856346543)) (i64.const 0x43)) +(assert_return (invoke "i64_load8_s" (i64.const 0x3456436598bacdef)) (i64.const 0xffffffffffffffef)) +(assert_return (invoke "i64_load8_u" (i64.const 0xfedcba9856346543)) (i64.const 0x43)) +(assert_return (invoke "i64_load8_u" (i64.const 0x3456436598bacdef)) (i64.const 0xef)) +(assert_return (invoke "i64_load16_s" (i64.const 0xfedcba9856346543)) (i64.const 0x6543)) +(assert_return (invoke "i64_load16_s" (i64.const 0x3456436598bacdef)) (i64.const 0xffffffffffffcdef)) +(assert_return (invoke "i64_load16_u" (i64.const 0xfedcba9856346543)) (i64.const 0x6543)) +(assert_return (invoke "i64_load16_u" (i64.const 0x3456436598bacdef)) (i64.const 0xcdef)) +(assert_return (invoke "i64_load32_s" (i64.const 0xfedcba9856346543)) (i64.const 0x56346543)) +(assert_return (invoke "i64_load32_s" (i64.const 0x3456436598bacdef)) (i64.const 0xffffffff98bacdef)) +(assert_return (invoke "i64_load32_u" (i64.const 0xfedcba9856346543)) (i64.const 0x56346543)) +(assert_return (invoke "i64_load32_u" (i64.const 0x3456436598bacdef)) (i64.const 0x98bacdef)) + +;; Duplicate identifier errors + +(assert_malformed (module quote + "(memory $foo 1)" + "(memory $foo 1)") + "duplicate memory") +(assert_malformed (module quote + "(import \"\" \"\" (memory $foo 1))" + "(memory $foo 1)") + "duplicate memory") +(assert_malformed (module quote + "(import \"\" \"\" (memory $foo 1))" + "(import \"\" \"\" (memory $foo 1))") + "duplicate memory")