Explorar o código

Update testsuite and make scripts to facilitate updating the suite in the future

Michael Ferris %!s(int64=9) %!d(string=hai) anos
pai
achega
f158a4b274
Modificáronse 100 ficheiros con 503 adicións e 327 borrados
  1. 0 0
      test/WasmSpec/LICENSE
  2. 1 1
      test/WasmSpec/baselines/br.baseline
  3. 1 1
      test/WasmSpec/baselines/br_if.baseline
  4. 1 1
      test/WasmSpec/baselines/br_table.baseline
  5. 1 1
      test/WasmSpec/baselines/call_indirect.baseline
  6. 3 1
      test/WasmSpec/baselines/conversions.baseline
  7. 1 1
      test/WasmSpec/baselines/float_exprs.baseline
  8. 1 1
      test/WasmSpec/baselines/float_literals.baseline
  9. 1 1
      test/WasmSpec/baselines/float_memory.baseline
  10. 1 1
      test/WasmSpec/baselines/linking.baseline
  11. 14 14
      test/WasmSpec/baselines/memory.baseline
  12. 1 1
      test/WasmSpec/baselines/select.baseline
  13. 1 1
      test/WasmSpec/baselines/unreachable.baseline
  14. 50 0
      test/WasmSpec/baselines/unreached-invalid.baseline
  15. 2 2
      test/WasmSpec/convert-test-suite/generateTests/chakra_i64.js
  16. 51 16
      test/WasmSpec/convert-test-suite/index.js
  17. 43 36
      test/WasmSpec/rlexe.xml
  18. 2 2
      test/WasmSpec/testsuite-bin/address.json
  19. 2 2
      test/WasmSpec/testsuite-bin/binary.json
  20. 2 2
      test/WasmSpec/testsuite-bin/block.json
  21. BIN=BIN
      test/WasmSpec/testsuite-bin/br.1.wasm
  22. BIN=BIN
      test/WasmSpec/testsuite-bin/br.2.wasm
  23. BIN=BIN
      test/WasmSpec/testsuite-bin/br.3.wasm
  24. BIN=BIN
      test/WasmSpec/testsuite-bin/br.4.wasm
  25. BIN=BIN
      test/WasmSpec/testsuite-bin/br.5.wasm
  26. BIN=BIN
      test/WasmSpec/testsuite-bin/br.6.wasm
  27. BIN=BIN
      test/WasmSpec/testsuite-bin/br.7.wasm
  28. 5 4
      test/WasmSpec/testsuite-bin/br.json
  29. BIN=BIN
      test/WasmSpec/testsuite-bin/br_if.20.wasm
  30. BIN=BIN
      test/WasmSpec/testsuite-bin/br_if.21.wasm
  31. BIN=BIN
      test/WasmSpec/testsuite-bin/br_if.22.wasm
  32. BIN=BIN
      test/WasmSpec/testsuite-bin/br_if.23.wasm
  33. BIN=BIN
      test/WasmSpec/testsuite-bin/br_if.24.wasm
  34. 5 4
      test/WasmSpec/testsuite-bin/br_if.json
  35. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.10.wasm
  36. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.11.wasm
  37. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.12.wasm
  38. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.13.wasm
  39. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.14.wasm
  40. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.15.wasm
  41. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.4.wasm
  42. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.5.wasm
  43. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.6.wasm
  44. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.7.wasm
  45. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.8.wasm
  46. BIN=BIN
      test/WasmSpec/testsuite-bin/br_table.9.wasm
  47. 13 11
      test/WasmSpec/testsuite-bin/br_table.json
  48. 2 2
      test/WasmSpec/testsuite-bin/break-drop.json
  49. 2 2
      test/WasmSpec/testsuite-bin/call.json
  50. BIN=BIN
      test/WasmSpec/testsuite-bin/call_indirect.17.wasm
  51. BIN=BIN
      test/WasmSpec/testsuite-bin/call_indirect.18.wasm
  52. BIN=BIN
      test/WasmSpec/testsuite-bin/call_indirect.19.wasm
  53. 5 2
      test/WasmSpec/testsuite-bin/call_indirect.json
  54. 2 2
      test/WasmSpec/testsuite-bin/chakra_i64.json
  55. 2 2
      test/WasmSpec/testsuite-bin/comments.json
  56. 150 130
      test/WasmSpec/testsuite-bin/conversions.json
  57. 2 2
      test/WasmSpec/testsuite-bin/custom_section.json
  58. 2 2
      test/WasmSpec/testsuite-bin/endianness.json
  59. 2 2
      test/WasmSpec/testsuite-bin/exports.json
  60. 2 2
      test/WasmSpec/testsuite-bin/f32.json
  61. 2 2
      test/WasmSpec/testsuite-bin/f32_cmp.json
  62. 2 2
      test/WasmSpec/testsuite-bin/f64.json
  63. 2 2
      test/WasmSpec/testsuite-bin/f64_cmp.json
  64. 2 2
      test/WasmSpec/testsuite-bin/fac.json
  65. BIN=BIN
      test/WasmSpec/testsuite-bin/float_exprs.81.wasm
  66. 31 2
      test/WasmSpec/testsuite-bin/float_exprs.json
  67. 10 2
      test/WasmSpec/testsuite-bin/float_literals.json
  68. 16 2
      test/WasmSpec/testsuite-bin/float_memory.json
  69. 2 2
      test/WasmSpec/testsuite-bin/float_misc.json
  70. 2 2
      test/WasmSpec/testsuite-bin/forward.json
  71. 2 2
      test/WasmSpec/testsuite-bin/func.json
  72. 2 2
      test/WasmSpec/testsuite-bin/func_ptrs.json
  73. 2 2
      test/WasmSpec/testsuite-bin/get_local.json
  74. 2 2
      test/WasmSpec/testsuite-bin/globals.json
  75. 2 2
      test/WasmSpec/testsuite-bin/i32.json
  76. 2 2
      test/WasmSpec/testsuite-bin/i64.json
  77. 2 2
      test/WasmSpec/testsuite-bin/imports.json
  78. 2 2
      test/WasmSpec/testsuite-bin/int_exprs.json
  79. 2 2
      test/WasmSpec/testsuite-bin/int_literals.json
  80. BIN=BIN
      test/WasmSpec/testsuite-bin/labels.1.wasm
  81. BIN=BIN
      test/WasmSpec/testsuite-bin/labels.2.wasm
  82. BIN=BIN
      test/WasmSpec/testsuite-bin/labels.3.wasm
  83. 2 2
      test/WasmSpec/testsuite-bin/labels.json
  84. 2 2
      test/WasmSpec/testsuite-bin/left-to-right.json
  85. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.10.wasm
  86. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.11.wasm
  87. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.12.wasm
  88. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.13.wasm
  89. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.14.wasm
  90. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.15.wasm
  91. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.16.wasm
  92. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.17.wasm
  93. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.18.wasm
  94. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.19.wasm
  95. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.20.wasm
  96. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.21.wasm
  97. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.22.wasm
  98. BIN=BIN
      test/WasmSpec/testsuite-bin/linking.23.wasm
  99. 37 33
      test/WasmSpec/testsuite-bin/linking.json
  100. 2 2
      test/WasmSpec/testsuite-bin/loop.json

+ 0 - 0
test/WasmSpec/testsuite/LICENSE → test/WasmSpec/LICENSE


+ 1 - 1
test/WasmSpec/baselines/br.baseline

@@ -1 +1 @@
-68/68 tests passed.
+69/69 tests passed.

+ 1 - 1
test/WasmSpec/baselines/br_if.baseline

@@ -1 +1 @@
-58/58 tests passed.
+59/59 tests passed.

+ 1 - 1
test/WasmSpec/baselines/br_table.baseline

@@ -1 +1 @@
-157/157 tests passed.
+159/159 tests passed.

+ 1 - 1
test/WasmSpec/baselines/call_indirect.baseline

@@ -1 +1 @@
-65/65 tests passed.
+68/68 tests passed.

+ 3 - 1
test/WasmSpec/baselines/conversions.baseline

@@ -1 +1,3 @@
-352/352 tests passed.
+(250) conversions.wast:300: assert_return($$.f64.convert_u_i64(i64:0x8000000000000401) == f64:9223372036854777000) failed. Returned 9223372036854776000
+(251) conversions.wast:301: assert_return($$.f64.convert_u_i64(i64:0x8000000000000402) == f64:9223372036854777000) failed. Returned 9223372036854776000
+370/372 tests passed.

+ 1 - 1
test/WasmSpec/baselines/float_exprs.baseline

@@ -1 +1 @@
-777/777 tests passed.
+806/806 tests passed.

+ 1 - 1
test/WasmSpec/baselines/float_literals.baseline

@@ -1 +1 @@
-53/53 tests passed.
+61/61 tests passed.

+ 1 - 1
test/WasmSpec/baselines/float_memory.baseline

@@ -1 +1 @@
-76/76 tests passed.
+90/90 tests passed.

+ 1 - 1
test/WasmSpec/baselines/linking.baseline

@@ -1 +1 @@
-89/89 tests passed.
+93/93 tests passed.

+ 14 - 14
test/WasmSpec/baselines/memory.baseline

@@ -3,17 +3,17 @@
 (26) memory.wast:46: assert_invalid module memory.22.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
 (27) memory.wast:50: assert_invalid module memory.23.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
 (28) memory.wast:54: assert_invalid module memory.24.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(44) memory.wast:120: assert_invalid module memory.40.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(45) memory.wast:124: assert_invalid module memory.41.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(46) memory.wast:128: assert_invalid module memory.42.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(47) memory.wast:132: assert_invalid module memory.43.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(48) memory.wast:136: assert_invalid module memory.44.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(49) memory.wast:140: assert_invalid module memory.45.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(54) memory.wast:151: assert_invalid module memory.50.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(55) memory.wast:155: assert_invalid module memory.51.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(56) memory.wast:159: assert_invalid module memory.52.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(57) memory.wast:163: assert_invalid module memory.53.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(58) memory.wast:167: assert_invalid module memory.54.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(59) memory.wast:171: assert_invalid module memory.55.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-(62) memory.wast:183: assert_invalid module memory.58.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
-69/87 tests passed.
+(47) memory.wast:135: assert_invalid module memory.43.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(48) memory.wast:139: assert_invalid module memory.44.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(49) memory.wast:143: assert_invalid module memory.45.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(50) memory.wast:147: assert_invalid module memory.46.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(51) memory.wast:151: assert_invalid module memory.47.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(52) memory.wast:155: assert_invalid module memory.48.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(57) memory.wast:166: assert_invalid module memory.53.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(58) memory.wast:170: assert_invalid module memory.54.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(59) memory.wast:174: assert_invalid module memory.55.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(60) memory.wast:178: assert_invalid module memory.56.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(61) memory.wast:182: assert_invalid module memory.57.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(62) memory.wast:186: assert_invalid module memory.58.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(65) memory.wast:198: assert_invalid module memory.61.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+72/90 tests passed.

+ 1 - 1
test/WasmSpec/baselines/select.baseline

@@ -1 +1 @@
-28/28 tests passed.
+30/30 tests passed.

+ 1 - 1
test/WasmSpec/baselines/unreachable.baseline

@@ -1 +1 @@
-58/58 tests passed.
+60/60 tests passed.

+ 50 - 0
test/WasmSpec/baselines/unreached-invalid.baseline

@@ -0,0 +1,50 @@
+(1) unreached-invalid.wast:4: assert_invalid module unreached-invalid.0.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(2) unreached-invalid.wast:8: assert_invalid module unreached-invalid.1.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(4) unreached-invalid.wast:16: assert_invalid module unreached-invalid.3.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(5) unreached-invalid.wast:21: assert_invalid module unreached-invalid.4.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(6) unreached-invalid.wast:27: assert_invalid module unreached-invalid.5.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(7) unreached-invalid.wast:33: assert_invalid module unreached-invalid.6.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(8) unreached-invalid.wast:42: assert_invalid module unreached-invalid.7.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(9) unreached-invalid.wast:46: assert_invalid module unreached-invalid.8.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(10) unreached-invalid.wast:50: assert_invalid module unreached-invalid.9.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(11) unreached-invalid.wast:56: assert_invalid module unreached-invalid.10.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(12) unreached-invalid.wast:60: assert_invalid module unreached-invalid.11.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(13) unreached-invalid.wast:64: assert_invalid module unreached-invalid.12.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(15) unreached-invalid.wast:76: assert_invalid module unreached-invalid.14.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(16) unreached-invalid.wast:82: assert_invalid module unreached-invalid.15.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(17) unreached-invalid.wast:88: assert_invalid module unreached-invalid.16.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(18) unreached-invalid.wast:94: assert_invalid module unreached-invalid.17.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(19) unreached-invalid.wast:100: assert_invalid module unreached-invalid.18.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(20) unreached-invalid.wast:106: assert_invalid module unreached-invalid.19.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(21) unreached-invalid.wast:112: assert_invalid module unreached-invalid.20.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(22) unreached-invalid.wast:118: assert_invalid module unreached-invalid.21.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(23) unreached-invalid.wast:124: assert_invalid module unreached-invalid.22.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(24) unreached-invalid.wast:130: assert_invalid module unreached-invalid.23.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(25) unreached-invalid.wast:137: assert_invalid module unreached-invalid.24.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(26) unreached-invalid.wast:143: assert_invalid module unreached-invalid.25.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(27) unreached-invalid.wast:149: assert_invalid module unreached-invalid.26.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(28) unreached-invalid.wast:155: assert_invalid module unreached-invalid.27.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(29) unreached-invalid.wast:161: assert_invalid module unreached-invalid.28.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(30) unreached-invalid.wast:167: assert_invalid module unreached-invalid.29.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(31) unreached-invalid.wast:173: assert_invalid module unreached-invalid.30.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(32) unreached-invalid.wast:179: assert_invalid module unreached-invalid.31.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(33) unreached-invalid.wast:185: assert_invalid module unreached-invalid.32.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(34) unreached-invalid.wast:191: assert_invalid module unreached-invalid.33.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(35) unreached-invalid.wast:198: assert_invalid module unreached-invalid.34.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(36) unreached-invalid.wast:204: assert_invalid module unreached-invalid.35.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(37) unreached-invalid.wast:210: assert_invalid module unreached-invalid.36.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(38) unreached-invalid.wast:216: assert_invalid module unreached-invalid.37.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(39) unreached-invalid.wast:222: assert_invalid module unreached-invalid.38.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(40) unreached-invalid.wast:228: assert_invalid module unreached-invalid.39.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(41) unreached-invalid.wast:234: assert_invalid module unreached-invalid.40.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(42) unreached-invalid.wast:240: assert_invalid module unreached-invalid.41.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(43) unreached-invalid.wast:246: assert_invalid module unreached-invalid.42.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(44) unreached-invalid.wast:252: assert_invalid module unreached-invalid.43.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(75) unreached-invalid.wast:445: assert_invalid module unreached-invalid.74.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(76) unreached-invalid.wast:452: assert_invalid module unreached-invalid.75.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(77) unreached-invalid.wast:459: assert_invalid module unreached-invalid.76.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(78) unreached-invalid.wast:465: assert_invalid module unreached-invalid.77.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(79) unreached-invalid.wast:471: assert_invalid module unreached-invalid.78.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(80) unreached-invalid.wast:477: assert_invalid module unreached-invalid.79.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+(81) unreached-invalid.wast:489: assert_invalid module unreached-invalid.80.wasm failed. Had a linking error, expected a compile error: TypeError: Object expected
+52/101 tests passed.

+ 2 - 2
test/WasmSpec/convert-test-suite/generateTests/chakra_i64.js

@@ -75,8 +75,8 @@ function extractModule(moduleNode) {
   return module;
 }
 
-module.exports = function(argv) {
-  const originalI64Wast = path.resolve(argv.suite, "i64.wast");
+module.exports = function(suite) {
+  const originalI64Wast = path.resolve(suite, "core", "i64.wast");
   const originalContent = fs.readFileSync(originalI64Wast).toString();
   return new Promise((resolve, reject) => {
     let id = 0;

+ 51 - 16
test/WasmSpec/convert-test-suite/index.js

@@ -49,8 +49,34 @@ const argv = require("yargs")
       array: true,
       alias: "e",
       description: "Spec tests to exclude from the conversion (use for known failures)",
+      default: []
+    },
+    "xplat-excludes": {
+      array: true,
+      description: "Spec tests to exclude when running on xplat (use for known failures)",
       default: [
-        "soft-fail"
+        "address",
+        "binary",
+        "call",
+        "call_indirect",
+        "chakra_i64",
+        "conversions",
+        "fac",
+        "func_ptrs",
+        "i32",
+        "i64",
+        "imports",
+        "int_exprs",
+        "linking",
+        "memory_trap",
+        "page",
+        "resizing",
+        "select",
+        "skip-stack-guard-page",
+        "start",
+        "traps",
+        "unreachable",
+        "unwind"
       ]
     },
     rebase: {
@@ -79,7 +105,6 @@ function convertTest(filename) {
     path.basename(filename),
     "--spec",
     "--no-check",
-    "--no-check-assert-invalid-and-malformed",
     "-o", outputPath
   ];
   console.log(`${testDir}: ${argv.bin} ${args.join(" ")}`);
@@ -121,7 +146,7 @@ function main() {
     removePossiblyEmptyFolder(chakraTestsDestination),
   ]).then(() => {
     fs.ensureDirSync(chakraTestsDestination);
-    return Promise.all(chakraTests.map(test => test.getContent(argv)
+    return Promise.all(chakraTests.map(test => test.getContent(argv.suite)
       .then(content => new Promise((resolve, reject) => {
         if (!content) {
           return resolve();
@@ -185,27 +210,37 @@ function main() {
     }));
     return Promise.all(cleanFullPaths).then(() => Promise.resolve(specFiles));
   })*/.then(specFiles => {
+    const runs = specFiles.map(specFile => {
+      const isXplatExcluded = argv.xplatExcludes.indexOf(path.basename(specFile, ".json")) !== -1;
+      const baseline = getBaselinePath(specFile);
+      const flags = hostFlags(specFile);
+      const tests = [{
+        tags: [],
+        baseline: baseline,
+        flags: [flags]
+      }, {
+        tags: ["exclude_dynapogo"],
+        baseline: baseline,
+        flags: [flags, "-nonative"]
+      }]
+      if (isXplatExcluded) {
+        for (const test of tests) test.tags.push("exclude_xplat");
+      }
+      return tests;
+    });
     const rlexe = (
 `<?xml version="1.0" encoding="utf-8"?>
 <!-- Auto Generated by convert-test-suite -->
 <regress-exe>${
-  specFiles.map(specFile => `
-  <test>
-    <default>
-      <files>spec.js</files>
-      <baseline>${getBaselinePath(specFile)}</baseline>
-      <compile-flags>${hostFlags(specFile)}</compile-flags>
-    </default>
-  </test>
+  runs.map(run => run.map(test => `
   <test>
     <default>
       <files>spec.js</files>
-      <baseline>${getBaselinePath(specFile)}</baseline>
-      <compile-flags>${hostFlags(specFile)} -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <baseline>${test.baseline}</baseline>
+      <compile-flags>${test.flags.join(" ")}</compile-flags>${test.tags.length > 0 ? `
+      <tags>${test.tags.join(",")}</tags>` : ""}
     </default>
-  </test>`
-  ).join("")
+  </test>`).join("")).join("")
 }
 </regress-exe>
 `);

+ 43 - 36
test/WasmSpec/rlexe.xml

@@ -5,8 +5,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/address.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/address.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -21,8 +21,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/binary.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/binary.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -112,8 +112,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/call.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/call.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -128,8 +128,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/call_indirect.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/call_indirect.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -144,8 +144,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/chakra_i64.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/chakra_i64.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -175,8 +175,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/conversions.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/conversions.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -296,17 +296,16 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/fac.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/fac.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/fac.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/fac.json -endargs -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -403,17 +402,16 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/func_ptrs.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/func_ptrs.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/func_ptrs.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/func_ptrs.json -endargs -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -450,8 +448,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/i32.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/i32.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -466,8 +464,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/i64.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/i64.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -482,8 +480,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/imports.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/imports.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -498,8 +496,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/int_exprs.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/int_exprs.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -559,8 +557,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/linking.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/linking.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -620,17 +618,16 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/memory_trap.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/memory_trap.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/memory_trap.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/memory_trap.json -endargs -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -667,8 +664,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/resizing.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/resizing.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -698,17 +695,16 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/select.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/select.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/select.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/select.json -endargs -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -730,8 +726,8 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/skip-stack-guard-page.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/skip-stack-guard-page.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -761,17 +757,16 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/start.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/start.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/start.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/start.json -endargs -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -823,17 +818,16 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/traps.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/traps.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/traps.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/traps.json -endargs -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
     </default>
   </test>
   <test>
@@ -855,16 +849,30 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/unreachable.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/unreachable.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/unreachable.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/unreachable.json -endargs -nonative</compile-flags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
+    </default>
+  </test>
+  <test>
+    <default>
+      <files>spec.js</files>
+      <baseline>baselines/unreached-invalid.baseline</baseline>
+      <compile-flags>-wasm -args testsuite-bin/unreached-invalid.json -endargs</compile-flags>
+    </default>
+  </test>
+  <test>
+    <default>
+      <files>spec.js</files>
+      <baseline>baselines/unreached-invalid.baseline</baseline>
+      <compile-flags>-wasm -args testsuite-bin/unreached-invalid.json -endargs -nonative</compile-flags>
       <tags>exclude_dynapogo</tags>
     </default>
   </test>
@@ -872,17 +880,16 @@
     <default>
       <files>spec.js</files>
       <baseline>baselines/unwind.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/unwind.json -endargs</compile-flags>
+      <tags>exclude_xplat</tags>
     </default>
   </test>
   <test>
     <default>
       <files>spec.js</files>
       <baseline>baselines/unwind.baseline</baseline>
-      <tags>exclude_xplat</tags>
       <compile-flags>-wasm -args testsuite-bin/unwind.json -endargs -nonative</compile-flags>
-      <tags>exclude_dynapogo</tags>
+      <tags>exclude_dynapogo,exclude_xplat</tags>
     </default>
   </test>
 </regress-exe>

+ 2 - 2
test/WasmSpec/testsuite-bin/address.json

@@ -1,9 +1,9 @@
 {"source_filename": "address.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "address.0.wasm"}, 
   {"type": "action", "line": 30, "action": {"type": "invoke", "field": "good", "args": [{"type": "i32", "value": "0"}]}}, 
   {"type": "action", "line": 31, "action": {"type": "invoke", "field": "good", "args": [{"type": "i32", "value": "65507"}]}}, 
   {"type": "assert_trap", "line": 32, "action": {"type": "invoke", "field": "good", "args": [{"type": "i32", "value": "65508"}]}, "text": "out of bounds memory access"}, 
   {"type": "assert_trap", "line": 33, "action": {"type": "invoke", "field": "bad", "args": [{"type": "i32", "value": "0"}]}, "text": "out of bounds memory access"}, 
-  {"type": "assert_trap", "line": 34, "action": {"type": "invoke", "field": "bad", "args": [{"type": "i32", "value": "1"}]}, "text": "out of bounds memory access"}
-]}
+  {"type": "assert_trap", "line": 34, "action": {"type": "invoke", "field": "bad", "args": [{"type": "i32", "value": "1"}]}, "text": "out of bounds memory access"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/binary.json

@@ -1,5 +1,6 @@
 {"source_filename": "binary.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "binary.0.wasm"}, 
   {"type": "module", "line": 2, "filename": "binary.1.wasm"}, 
   {"type": "module", "line": 3, "name": "$M1", "filename": "binary.2.wasm"}, 
@@ -15,5 +16,4 @@
   {"type": "assert_malformed", "line": 15, "filename": "binary.12.wasm", "text": "unexpected end"}, 
   {"type": "assert_malformed", "line": 16, "filename": "binary.13.wasm", "text": "unexpected end"}, 
   {"type": "assert_malformed", "line": 17, "filename": "binary.14.wasm", "text": "unknown binary version"}, 
-  {"type": "assert_malformed", "line": 18, "filename": "binary.15.wasm", "text": "unknown binary version"}
-]}
+  {"type": "assert_malformed", "line": 18, "filename": "binary.15.wasm", "text": "unknown binary version"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/block.json

@@ -1,5 +1,6 @@
 {"source_filename": "block.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "block.0.wasm"}, 
   {"type": "assert_return", "line": 114, "action": {"type": "invoke", "field": "empty", "args": []}, "expected": []}, 
   {"type": "assert_return", "line": 115, "action": {"type": "invoke", "field": "singular", "args": []}, "expected": [{"type": "i32", "value": "7"}]}, 
@@ -34,5 +35,4 @@
   {"type": "assert_invalid", "line": 226, "filename": "block.17.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 233, "filename": "block.18.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 240, "filename": "block.19.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 246, "filename": "block.20.wasm", "text": "type mismatch"}
-]}
+  {"type": "assert_invalid", "line": 246, "filename": "block.20.wasm", "text": "type mismatch"}]}

BIN=BIN
test/WasmSpec/testsuite-bin/br.1.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br.2.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br.3.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br.4.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br.5.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br.6.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br.7.wasm


+ 5 - 4
test/WasmSpec/testsuite-bin/br.json

@@ -1,5 +1,6 @@
 {"source_filename": "br.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "br.0.wasm"}, 
   {"type": "assert_return", "line": 288, "action": {"type": "invoke", "field": "type-i32", "args": []}, "expected": []}, 
   {"type": "assert_return", "line": 289, "action": {"type": "invoke", "field": "type-i64", "args": []}, "expected": []}, 
@@ -65,7 +66,7 @@
   {"type": "assert_invalid", "line": 372, "filename": "br.1.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 379, "filename": "br.2.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 385, "filename": "br.3.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 392, "filename": "br.4.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 396, "filename": "br.5.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 400, "filename": "br.6.wasm", "text": "unknown label"}
-]}
+  {"type": "assert_invalid", "line": 391, "filename": "br.4.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 398, "filename": "br.5.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 402, "filename": "br.6.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 406, "filename": "br.7.wasm", "text": "unknown label"}]}

BIN=BIN
test/WasmSpec/testsuite-bin/br_if.20.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_if.21.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_if.22.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_if.23.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_if.24.wasm


+ 5 - 4
test/WasmSpec/testsuite-bin/br_if.json

@@ -1,5 +1,6 @@
 {"source_filename": "br_if.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "br_if.0.wasm"}, 
   {"type": "assert_return", "line": 132, "action": {"type": "invoke", "field": "as-block-first", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "2"}]}, 
   {"type": "assert_return", "line": 133, "action": {"type": "invoke", "field": "as-block-first", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "3"}]}, 
@@ -55,7 +56,7 @@
   {"type": "assert_invalid", "line": 261, "filename": "br_if.18.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 267, "filename": "br_if.19.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 273, "filename": "br_if.20.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 280, "filename": "br_if.21.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 284, "filename": "br_if.22.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 288, "filename": "br_if.23.wasm", "text": "unknown label"}
-]}
+  {"type": "assert_invalid", "line": 279, "filename": "br_if.21.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 286, "filename": "br_if.22.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 290, "filename": "br_if.23.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 294, "filename": "br_if.24.wasm", "text": "unknown label"}]}

BIN=BIN
test/WasmSpec/testsuite-bin/br_table.10.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.11.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.12.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.13.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.14.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.15.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.4.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.5.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.6.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.7.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.8.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/br_table.9.wasm


+ 13 - 11
test/WasmSpec/testsuite-bin/br_table.json

@@ -1,5 +1,6 @@
 {"source_filename": "br_table.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "br_table.0.wasm"}, 
   {"type": "assert_return", "line": 1208, "action": {"type": "invoke", "field": "type-i32", "args": []}, "expected": []}, 
   {"type": "assert_return", "line": 1209, "action": {"type": "invoke", "field": "type-i64", "args": []}, "expected": []}, 
@@ -147,14 +148,15 @@
   {"type": "assert_invalid", "line": 1386, "filename": "br_table.1.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 1393, "filename": "br_table.2.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 1399, "filename": "br_table.3.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 1406, "filename": "br_table.4.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 1412, "filename": "br_table.5.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 1418, "filename": "br_table.6.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 1424, "filename": "br_table.7.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 1431, "filename": "br_table.8.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 1437, "filename": "br_table.9.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 1443, "filename": "br_table.10.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 1450, "filename": "br_table.11.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 1456, "filename": "br_table.12.wasm", "text": "unknown label"}, 
-  {"type": "assert_invalid", "line": 1462, "filename": "br_table.13.wasm", "text": "unknown label"}
-]}
+  {"type": "assert_invalid", "line": 1405, "filename": "br_table.4.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 1417, "filename": "br_table.5.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 1423, "filename": "br_table.6.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 1429, "filename": "br_table.7.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 1435, "filename": "br_table.8.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 1441, "filename": "br_table.9.wasm", "text": "type mismatch"}, 
+  {"type": "assert_invalid", "line": 1448, "filename": "br_table.10.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 1454, "filename": "br_table.11.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 1460, "filename": "br_table.12.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 1467, "filename": "br_table.13.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 1473, "filename": "br_table.14.wasm", "text": "unknown label"}, 
+  {"type": "assert_invalid", "line": 1479, "filename": "br_table.15.wasm", "text": "unknown label"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/break-drop.json

@@ -1,7 +1,7 @@
 {"source_filename": "break-drop.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "break-drop.0.wasm"}, 
   {"type": "assert_return", "line": 7, "action": {"type": "invoke", "field": "br", "args": []}, "expected": []}, 
   {"type": "assert_return", "line": 8, "action": {"type": "invoke", "field": "br_if", "args": []}, "expected": []}, 
-  {"type": "assert_return", "line": 9, "action": {"type": "invoke", "field": "br_table", "args": []}, "expected": []}
-]}
+  {"type": "assert_return", "line": 9, "action": {"type": "invoke", "field": "br_table", "args": []}, "expected": []}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/call.json

@@ -1,5 +1,6 @@
 {"source_filename": "call.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "call.0.wasm"}, 
   {"type": "assert_return", "line": 102, "action": {"type": "invoke", "field": "type-i32", "args": []}, "expected": [{"type": "i32", "value": "306"}]}, 
   {"type": "assert_return", "line": 103, "action": {"type": "invoke", "field": "type-i64", "args": []}, "expected": [{"type": "i64", "value": "356"}]}, 
@@ -47,5 +48,4 @@
   {"type": "assert_invalid", "line": 209, "filename": "call.9.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 216, "filename": "call.10.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 227, "filename": "call.11.wasm", "text": "unknown function"}, 
-  {"type": "assert_invalid", "line": 231, "filename": "call.12.wasm", "text": "unknown function"}
-]}
+  {"type": "assert_invalid", "line": 231, "filename": "call.12.wasm", "text": "unknown function"}]}

BIN=BIN
test/WasmSpec/testsuite-bin/call_indirect.17.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/call_indirect.18.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/call_indirect.19.wasm


+ 5 - 2
test/WasmSpec/testsuite-bin/call_indirect.json

@@ -1,5 +1,6 @@
 {"source_filename": "call_indirect.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "call_indirect.0.wasm"}, 
   {"type": "assert_return", "line": 167, "action": {"type": "invoke", "field": "type-i32", "args": []}, "expected": [{"type": "i32", "value": "306"}]}, 
   {"type": "assert_return", "line": 168, "action": {"type": "invoke", "field": "type-i64", "args": []}, "expected": [{"type": "i64", "value": "356"}]}, 
@@ -64,5 +65,7 @@
   {"type": "assert_invalid", "line": 336, "filename": "call_indirect.13.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 350, "filename": "call_indirect.14.wasm", "text": "unknown type"}, 
   {"type": "assert_invalid", "line": 357, "filename": "call_indirect.15.wasm", "text": "unknown type"}, 
-  {"type": "assert_invalid", "line": 366, "filename": "call_indirect.16.wasm", "text": "unknown function 0"}
-]}
+  {"type": "assert_invalid", "line": 368, "filename": "call_indirect.16.wasm", "text": "unknown function 0"}, 
+  {"type": "assert_unlinkable", "line": 376, "filename": "call_indirect.17.wasm", "text": "elements segment does not fit"}, 
+  {"type": "assert_unlinkable", "line": 385, "filename": "call_indirect.18.wasm", "text": "elements segment does not fit"}, 
+  {"type": "assert_unlinkable", "line": 394, "filename": "call_indirect.19.wasm", "text": "elements segment does not fit"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/chakra_i64.json

@@ -1,5 +1,6 @@
 {"source_filename": "chakra_i64.wast",
  "commands": [
+
   {"type": "module", "line": 7, "filename": "chakra_i64.0.wasm"}, 
   {"type": "assert_return", "line": 990, "action": {"type": "invoke", "field": "add0", "args": []}, "expected": [{"type": "i64", "value": "2"}]}, 
   {"type": "assert_return", "line": 991, "action": {"type": "invoke", "field": "add1", "args": [{"type": "i64", "value": "1"}]}, "expected": [{"type": "i64", "value": "2"}]}, 
@@ -980,5 +981,4 @@
   {"type": "assert_return", "line": 1966, "action": {"type": "invoke", "field": "ge_u976", "args": [{"type": "i64", "value": "9223372036854775807"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 1967, "action": {"type": "invoke", "field": "ge_u977", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1968, "action": {"type": "invoke", "field": "ge_u978", "args": [{"type": "i64", "value": "9223372036854775807"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 1969, "action": {"type": "invoke", "field": "ge_u979", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 1969, "action": {"type": "invoke", "field": "ge_u979", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "i32", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/comments.json

@@ -1,7 +1,7 @@
 {"source_filename": "comments.wast",
  "commands": [
+
   {"type": "module", "line": 10, "filename": "comments.0.wasm"}, 
   {"type": "module", "line": 48, "filename": "comments.1.wasm"}, 
   {"type": "module", "line": 58, "filename": "comments.2.wasm"}, 
-  {"type": "module", "line": 67, "filename": "comments.3.wasm"}
-]}
+  {"type": "module", "line": 67, "filename": "comments.3.wasm"}]}

+ 150 - 130
test/WasmSpec/testsuite-bin/conversions.json

@@ -1,5 +1,6 @@
 {"source_filename": "conversions.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "conversions.0.wasm"}, 
   {"type": "assert_return", "line": 29, "action": {"type": "invoke", "field": "i64.extend_s_i32", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i64", "value": "0"}]}, 
   {"type": "assert_return", "line": 30, "action": {"type": "invoke", "field": "i64.extend_s_i32", "args": [{"type": "i32", "value": "10000"}]}, "expected": [{"type": "i64", "value": "10000"}]}, 
@@ -223,133 +224,152 @@
   {"type": "assert_return", "line": 266, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "1325400064"}]}, 
   {"type": "assert_return", "line": 267, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "305419896"}]}, "expected": [{"type": "f32", "value": "1301390004"}]}, 
   {"type": "assert_return", "line": 268, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "f32", "value": "1333788672"}]}, 
-  {"type": "assert_return", "line": 270, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "16777217"}]}, "expected": [{"type": "f32", "value": "1266679808"}]}, 
-  {"type": "assert_return", "line": 271, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "16777219"}]}, "expected": [{"type": "f32", "value": "1266679810"}]}, 
-  {"type": "assert_return", "line": 273, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "1"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
-  {"type": "assert_return", "line": 274, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 275, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775807"}]}, "expected": [{"type": "f32", "value": "1593835520"}]}, 
-  {"type": "assert_return", "line": 276, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "f32", "value": "1593835520"}]}, 
-  {"type": "assert_return", "line": 277, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "f32", "value": "1602224128"}]}, 
-  {"type": "assert_return", "line": 279, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "16777217"}]}, "expected": [{"type": "f32", "value": "1266679808"}]}, 
-  {"type": "assert_return", "line": 280, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "16777219"}]}, "expected": [{"type": "f32", "value": "1266679810"}]}, 
-  {"type": "assert_return", "line": 282, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "f64", "value": "4607182418800017408"}]}, 
-  {"type": "assert_return", "line": 283, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
-  {"type": "assert_return", "line": 284, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "2147483647"}]}, "expected": [{"type": "f64", "value": "4746794007244308480"}]}, 
-  {"type": "assert_return", "line": 285, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "f64", "value": "4746794007248502784"}]}, 
-  {"type": "assert_return", "line": 286, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "f64", "value": "4751297606873776128"}]}, 
-  {"type": "assert_return", "line": 288, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "1"}]}, "expected": [{"type": "f64", "value": "4607182418800017408"}]}, 
-  {"type": "assert_return", "line": 289, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
-  {"type": "assert_return", "line": 290, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775807"}]}, "expected": [{"type": "f64", "value": "4890909195324358656"}]}, 
-  {"type": "assert_return", "line": 291, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "f64", "value": "4890909195324358656"}]}, 
-  {"type": "assert_return", "line": 292, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "f64", "value": "4895412794951729152"}]}, 
-  {"type": "assert_return", "line": 294, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9007199254740993"}]}, "expected": [{"type": "f64", "value": "4845873199050653696"}]}, 
-  {"type": "assert_return", "line": 295, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9007199254740995"}]}, "expected": [{"type": "f64", "value": "4845873199050653698"}]}, 
-  {"type": "assert_return", "line": 297, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
-  {"type": "assert_return", "line": 298, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f64", "value": "9223372036854775808"}]}, 
-  {"type": "assert_return", "line": 299, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "1"}]}, "expected": [{"type": "f64", "value": "3936146074321813504"}]}, 
-  {"type": "assert_return", "line": 300, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2147483649"}]}, "expected": [{"type": "f64", "value": "13159518111176589312"}]}, 
-  {"type": "assert_return", "line": 301, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "1065353216"}]}, "expected": [{"type": "f64", "value": "4607182418800017408"}]}, 
-  {"type": "assert_return", "line": 302, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "3212836864"}]}, "expected": [{"type": "f64", "value": "13830554455654793216"}]}, 
-  {"type": "assert_return", "line": 303, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "4286578687"}]}, "expected": [{"type": "f64", "value": "14407015207421345792"}]}, 
-  {"type": "assert_return", "line": 304, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2139095039"}]}, "expected": [{"type": "f64", "value": "5183643170566569984"}]}, 
-  {"type": "assert_return", "line": 306, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "67108864"}]}, "expected": [{"type": "f64", "value": "4071254063142928384"}]}, 
-  {"type": "assert_return", "line": 308, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2118632255"}]}, "expected": [{"type": "f64", "value": "5172657297058430976"}]}, 
-  {"type": "assert_return", "line": 309, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2139095040"}]}, "expected": [{"type": "f64", "value": "9218868437227405312"}]}, 
-  {"type": "assert_return", "line": 310, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "4286578688"}]}, "expected": [{"type": "f64", "value": "18442240474082181120"}]}, 
-  {"type": "assert_return", "line": 311, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "f64", "value": "9221120237041090560"}]}, 
-  {"type": "assert_return", "line": 313, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 314, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
-  {"type": "assert_return", "line": 315, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "1"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 316, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9223372036854775809"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
-  {"type": "assert_return", "line": 317, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182418800017408"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
-  {"type": "assert_return", "line": 318, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13830554455654793216"}]}, "expected": [{"type": "f32", "value": "3212836864"}]}, 
-  {"type": "assert_return", "line": 319, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4039728865214464000"}]}, "expected": [{"type": "f32", "value": "8388608"}]}, 
-  {"type": "assert_return", "line": 320, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13263100902069239808"}]}, "expected": [{"type": "f32", "value": "2155872256"}]}, 
-  {"type": "assert_return", "line": 321, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4039728865214463999"}]}, "expected": [{"type": "f32", "value": "8388607"}]}, 
-  {"type": "assert_return", "line": 322, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13263100902069239807"}]}, "expected": [{"type": "f32", "value": "2155872255"}]}, 
-  {"type": "assert_return", "line": 323, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "3936146074321813504"}]}, "expected": [{"type": "f32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 324, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13159518111176589312"}]}, "expected": [{"type": "f32", "value": "2147483649"}]}, 
-  {"type": "assert_return", "line": 325, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170298134528"}]}, "expected": [{"type": "f32", "value": "2139095038"}]}, 
-  {"type": "assert_return", "line": 326, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207152910336"}]}, "expected": [{"type": "f32", "value": "4286578686"}]}, 
-  {"type": "assert_return", "line": 327, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170298134529"}]}, "expected": [{"type": "f32", "value": "2139095039"}]}, 
-  {"type": "assert_return", "line": 328, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207152910337"}]}, "expected": [{"type": "f32", "value": "4286578687"}]}, 
-  {"type": "assert_return", "line": 329, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170566569984"}]}, "expected": [{"type": "f32", "value": "2139095039"}]}, 
-  {"type": "assert_return", "line": 330, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207421345792"}]}, "expected": [{"type": "f32", "value": "4286578687"}]}, 
-  {"type": "assert_return", "line": 331, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170835005439"}]}, "expected": [{"type": "f32", "value": "2139095039"}]}, 
-  {"type": "assert_return", "line": 332, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207689781247"}]}, "expected": [{"type": "f32", "value": "4286578687"}]}, 
-  {"type": "assert_return", "line": 333, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170835005440"}]}, "expected": [{"type": "f32", "value": "2139095040"}]}, 
-  {"type": "assert_return", "line": 334, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207689781248"}]}, "expected": [{"type": "f32", "value": "4286578688"}]}, 
-  {"type": "assert_return", "line": 335, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4071254063142928384"}]}, "expected": [{"type": "f32", "value": "67108864"}]}, 
-  {"type": "assert_return", "line": 336, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5172657297058430976"}]}, "expected": [{"type": "f32", "value": "2118632255"}]}, 
-  {"type": "assert_return", "line": 337, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9218868437227405312"}]}, "expected": [{"type": "f32", "value": "2139095040"}]}, 
-  {"type": "assert_return", "line": 338, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "18442240474082181120"}]}, "expected": [{"type": "f32", "value": "4286578688"}]}, 
-  {"type": "assert_return", "line": 339, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182418800017409"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
-  {"type": "assert_return", "line": 340, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182418800017407"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
-  {"type": "assert_return", "line": 341, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419068452864"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
-  {"type": "assert_return", "line": 342, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419068452865"}]}, "expected": [{"type": "f32", "value": "1065353217"}]}, 
-  {"type": "assert_return", "line": 343, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419605323775"}]}, "expected": [{"type": "f32", "value": "1065353217"}]}, 
-  {"type": "assert_return", "line": 344, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419605323776"}]}, "expected": [{"type": "f32", "value": "1065353218"}]}, 
-  {"type": "assert_return", "line": 345, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182420142194688"}]}, "expected": [{"type": "f32", "value": "1065353218"}]}, 
-  {"type": "assert_return", "line": 346, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810125344768"}]}, "expected": [{"type": "f32", "value": "1266679808"}]}, 
-  {"type": "assert_return", "line": 347, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810125344769"}]}, "expected": [{"type": "f32", "value": "1266679809"}]}, 
-  {"type": "assert_return", "line": 348, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810662215679"}]}, "expected": [{"type": "f32", "value": "1266679809"}]}, 
-  {"type": "assert_return", "line": 349, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810662215680"}]}, "expected": [{"type": "f32", "value": "1266679810"}]}, 
-  {"type": "assert_return", "line": 350, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5094955347580439664"}]}, "expected": [{"type": "f32", "value": "1973901096"}]}, 
-  {"type": "assert_return", "line": 351, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4101111194527827589"}]}, "expected": [{"type": "f32", "value": "122722105"}]}, 
-  {"type": "assert_return", "line": 352, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4038806939559600639"}]}, "expected": [{"type": "f32", "value": "7529997"}]}, 
-  {"type": "assert_return", "line": 353, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13836913116900734306"}]}, "expected": [{"type": "f32", "value": "3224680794"}]}, 
-  {"type": "assert_return", "line": 354, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14338315240173327556"}]}, "expected": [{"type": "f32", "value": "4158615026"}]}, 
-  {"type": "assert_return", "line": 355, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
-  {"type": "assert_return", "line": 356, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4503599627370496"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 357, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9227875636482146304"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
-  {"type": "assert_return", "line": 358, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "3931642474694443008"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 359, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13155014511549218816"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
-  {"type": "assert_return", "line": 360, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "3931642474694443009"}]}, "expected": [{"type": "f32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 361, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13155014511549218817"}]}, "expected": [{"type": "f32", "value": "2147483649"}]}, 
-  {"type": "assert_return", "line": 363, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 364, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
-  {"type": "assert_return", "line": 365, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "f32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 366, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "f32", "value": "4294967295"}]}, 
-  {"type": "assert_return", "line": 367, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "123456789"}]}, "expected": [{"type": "f32", "value": "123456789"}]}, 
-  {"type": "assert_return", "line": 368, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2147483649"}]}, "expected": [{"type": "f32", "value": "2147483649"}]}, 
-  {"type": "assert_return", "line": 369, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2139095040"}]}, "expected": [{"type": "f32", "value": "2139095040"}]}, 
-  {"type": "assert_return", "line": 370, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "4286578688"}]}, "expected": [{"type": "f32", "value": "4286578688"}]}, 
-  {"type": "assert_return", "line": 371, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2143289344"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
-  {"type": "assert_return", "line": 372, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}, 
-  {"type": "assert_return", "line": 376, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
-  {"type": "assert_return", "line": 377, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "1"}]}, "expected": [{"type": "f64", "value": "1"}]}, 
-  {"type": "assert_return", "line": 378, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "f64", "value": "18446744073709551615"}]}, 
-  {"type": "assert_return", "line": 379, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "f64", "value": "9223372036854775808"}]}, 
-  {"type": "assert_return", "line": 380, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "1234567890"}]}, "expected": [{"type": "f64", "value": "1234567890"}]}, 
-  {"type": "assert_return", "line": 381, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9223372036854775809"}]}, "expected": [{"type": "f64", "value": "9223372036854775809"}]}, 
-  {"type": "assert_return", "line": 382, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9218868437227405312"}]}, "expected": [{"type": "f64", "value": "9218868437227405312"}]}, 
-  {"type": "assert_return", "line": 383, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "18442240474082181120"}]}, "expected": [{"type": "f64", "value": "18442240474082181120"}]}, 
-  {"type": "assert_return", "line": 384, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9221120237041090560"}]}, "expected": [{"type": "f64", "value": "9221120237041090560"}]}, 
-  {"type": "assert_return", "line": 385, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "18444492273895866368"}]}, "expected": [{"type": "f64", "value": "18444492273895866368"}]}, 
-  {"type": "assert_return", "line": 389, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 390, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "i32", "value": "2147483648"}]}, 
-  {"type": "assert_return", "line": 391, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "1"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 392, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
-  {"type": "assert_return", "line": 393, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2147483649"}]}, "expected": [{"type": "i32", "value": "2147483649"}]}, 
-  {"type": "assert_return", "line": 394, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "1065353216"}]}, "expected": [{"type": "i32", "value": "1065353216"}]}, 
-  {"type": "assert_return", "line": 395, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "1078530010"}]}, "expected": [{"type": "i32", "value": "1078530010"}]}, 
-  {"type": "assert_return", "line": 396, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2139095039"}]}, "expected": [{"type": "i32", "value": "2139095039"}]}, 
-  {"type": "assert_return", "line": 397, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4286578687"}]}, "expected": [{"type": "i32", "value": "4286578687"}]}, 
-  {"type": "assert_return", "line": 398, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2139095040"}]}, "expected": [{"type": "i32", "value": "2139095040"}]}, 
-  {"type": "assert_return", "line": 399, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4286578688"}]}, "expected": [{"type": "i32", "value": "4286578688"}]}, 
-  {"type": "assert_return", "line": 400, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
-  {"type": "assert_return", "line": 401, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "i32", "value": "4290772992"}]}, 
-  {"type": "assert_return", "line": 405, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "0"}]}, "expected": [{"type": "i64", "value": "0"}]}, 
-  {"type": "assert_return", "line": 406, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "i64", "value": "9223372036854775808"}]}, 
-  {"type": "assert_return", "line": 407, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "1"}]}, "expected": [{"type": "i64", "value": "1"}]}, 
-  {"type": "assert_return", "line": 408, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "18446744073709551615"}]}, 
-  {"type": "assert_return", "line": 409, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9223372036854775809"}]}, "expected": [{"type": "i64", "value": "9223372036854775809"}]}, 
-  {"type": "assert_return", "line": 410, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "4607182418800017408"}]}, "expected": [{"type": "i64", "value": "4607182418800017408"}]}, 
-  {"type": "assert_return", "line": 411, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "4614256656552045841"}]}, "expected": [{"type": "i64", "value": "4614256656552045841"}]}, 
-  {"type": "assert_return", "line": 412, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9218868437227405311"}]}, "expected": [{"type": "i64", "value": "9218868437227405311"}]}, 
-  {"type": "assert_return", "line": 413, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18442240474082181119"}]}, "expected": [{"type": "i64", "value": "18442240474082181119"}]}, 
-  {"type": "assert_return", "line": 414, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9218868437227405312"}]}, "expected": [{"type": "i64", "value": "9218868437227405312"}]}, 
-  {"type": "assert_return", "line": 415, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18442240474082181120"}]}, "expected": [{"type": "i64", "value": "18442240474082181120"}]}, 
-  {"type": "assert_return", "line": 416, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
-  {"type": "assert_return", "line": 417, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18444492273895866368"}]}, "expected": [{"type": "i64", "value": "18444492273895866368"}]}
-]}
+  {"type": "assert_return", "line": 269, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "2147483776"}]}, "expected": [{"type": "f32", "value": "1325400064"}]}, 
+  {"type": "assert_return", "line": 270, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "2147483777"}]}, "expected": [{"type": "f32", "value": "1325400065"}]}, 
+  {"type": "assert_return", "line": 271, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "2147483778"}]}, "expected": [{"type": "f32", "value": "1325400065"}]}, 
+  {"type": "assert_return", "line": 272, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "4294966912"}]}, "expected": [{"type": "f32", "value": "1333788670"}]}, 
+  {"type": "assert_return", "line": 273, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "4294966913"}]}, "expected": [{"type": "f32", "value": "1333788671"}]}, 
+  {"type": "assert_return", "line": 274, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "4294966914"}]}, "expected": [{"type": "f32", "value": "1333788671"}]}, 
+  {"type": "assert_return", "line": 276, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "16777217"}]}, "expected": [{"type": "f32", "value": "1266679808"}]}, 
+  {"type": "assert_return", "line": 277, "action": {"type": "invoke", "field": "f32.convert_u_i32", "args": [{"type": "i32", "value": "16777219"}]}, "expected": [{"type": "f32", "value": "1266679810"}]}, 
+  {"type": "assert_return", "line": 279, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "1"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
+  {"type": "assert_return", "line": 280, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 281, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775807"}]}, "expected": [{"type": "f32", "value": "1593835520"}]}, 
+  {"type": "assert_return", "line": 282, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "f32", "value": "1593835520"}]}, 
+  {"type": "assert_return", "line": 283, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "f32", "value": "1602224128"}]}, 
+  {"type": "assert_return", "line": 285, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "16777217"}]}, "expected": [{"type": "f32", "value": "1266679808"}]}, 
+  {"type": "assert_return", "line": 286, "action": {"type": "invoke", "field": "f32.convert_u_i64", "args": [{"type": "i64", "value": "16777219"}]}, "expected": [{"type": "f32", "value": "1266679810"}]}, 
+  {"type": "assert_return", "line": 288, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "f64", "value": "4607182418800017408"}]}, 
+  {"type": "assert_return", "line": 289, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
+  {"type": "assert_return", "line": 290, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "2147483647"}]}, "expected": [{"type": "f64", "value": "4746794007244308480"}]}, 
+  {"type": "assert_return", "line": 291, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "f64", "value": "4746794007248502784"}]}, 
+  {"type": "assert_return", "line": 292, "action": {"type": "invoke", "field": "f64.convert_u_i32", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "f64", "value": "4751297606873776128"}]}, 
+  {"type": "assert_return", "line": 294, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "1"}]}, "expected": [{"type": "f64", "value": "4607182418800017408"}]}, 
+  {"type": "assert_return", "line": 295, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
+  {"type": "assert_return", "line": 296, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775807"}]}, "expected": [{"type": "f64", "value": "4890909195324358656"}]}, 
+  {"type": "assert_return", "line": 297, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "f64", "value": "4890909195324358656"}]}, 
+  {"type": "assert_return", "line": 298, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "f64", "value": "4895412794951729152"}]}, 
+  {"type": "assert_return", "line": 299, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854776832"}]}, "expected": [{"type": "f64", "value": "4890909195324358656"}]}, 
+  {"type": "assert_return", "line": 300, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854776833"}]}, "expected": [{"type": "f64", "value": "4890909195324358657"}]}, 
+  {"type": "assert_return", "line": 301, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9223372036854776834"}]}, "expected": [{"type": "f64", "value": "4890909195324358657"}]}, 
+  {"type": "assert_return", "line": 302, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "18446744073709548544"}]}, "expected": [{"type": "f64", "value": "4895412794951729150"}]}, 
+  {"type": "assert_return", "line": 303, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "18446744073709548545"}]}, "expected": [{"type": "f64", "value": "4895412794951729151"}]}, 
+  {"type": "assert_return", "line": 304, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "18446744073709548546"}]}, "expected": [{"type": "f64", "value": "4895412794951729151"}]}, 
+  {"type": "assert_return", "line": 306, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9007199254740993"}]}, "expected": [{"type": "f64", "value": "4845873199050653696"}]}, 
+  {"type": "assert_return", "line": 307, "action": {"type": "invoke", "field": "f64.convert_u_i64", "args": [{"type": "i64", "value": "9007199254740995"}]}, "expected": [{"type": "f64", "value": "4845873199050653698"}]}, 
+  {"type": "assert_return", "line": 309, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
+  {"type": "assert_return", "line": 310, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f64", "value": "9223372036854775808"}]}, 
+  {"type": "assert_return", "line": 311, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "1"}]}, "expected": [{"type": "f64", "value": "3936146074321813504"}]}, 
+  {"type": "assert_return", "line": 312, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2147483649"}]}, "expected": [{"type": "f64", "value": "13159518111176589312"}]}, 
+  {"type": "assert_return", "line": 313, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "1065353216"}]}, "expected": [{"type": "f64", "value": "4607182418800017408"}]}, 
+  {"type": "assert_return", "line": 314, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "3212836864"}]}, "expected": [{"type": "f64", "value": "13830554455654793216"}]}, 
+  {"type": "assert_return", "line": 315, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "4286578687"}]}, "expected": [{"type": "f64", "value": "14407015207421345792"}]}, 
+  {"type": "assert_return", "line": 316, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2139095039"}]}, "expected": [{"type": "f64", "value": "5183643170566569984"}]}, 
+  {"type": "assert_return", "line": 318, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "67108864"}]}, "expected": [{"type": "f64", "value": "4071254063142928384"}]}, 
+  {"type": "assert_return", "line": 320, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2118632255"}]}, "expected": [{"type": "f64", "value": "5172657297058430976"}]}, 
+  {"type": "assert_return", "line": 321, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2139095040"}]}, "expected": [{"type": "f64", "value": "9218868437227405312"}]}, 
+  {"type": "assert_return", "line": 322, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "4286578688"}]}, "expected": [{"type": "f64", "value": "18442240474082181120"}]}, 
+  {"type": "assert_return", "line": 323, "action": {"type": "invoke", "field": "f64.promote_f32", "args": [{"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "f64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 325, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 326, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 327, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "1"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 328, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9223372036854775809"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 329, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182418800017408"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
+  {"type": "assert_return", "line": 330, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13830554455654793216"}]}, "expected": [{"type": "f32", "value": "3212836864"}]}, 
+  {"type": "assert_return", "line": 331, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4039728865214464000"}]}, "expected": [{"type": "f32", "value": "8388608"}]}, 
+  {"type": "assert_return", "line": 332, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13263100902069239808"}]}, "expected": [{"type": "f32", "value": "2155872256"}]}, 
+  {"type": "assert_return", "line": 333, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4039728865214463999"}]}, "expected": [{"type": "f32", "value": "8388607"}]}, 
+  {"type": "assert_return", "line": 334, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13263100902069239807"}]}, "expected": [{"type": "f32", "value": "2155872255"}]}, 
+  {"type": "assert_return", "line": 335, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "3936146074321813504"}]}, "expected": [{"type": "f32", "value": "1"}]}, 
+  {"type": "assert_return", "line": 336, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13159518111176589312"}]}, "expected": [{"type": "f32", "value": "2147483649"}]}, 
+  {"type": "assert_return", "line": 337, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170298134528"}]}, "expected": [{"type": "f32", "value": "2139095038"}]}, 
+  {"type": "assert_return", "line": 338, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207152910336"}]}, "expected": [{"type": "f32", "value": "4286578686"}]}, 
+  {"type": "assert_return", "line": 339, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170298134529"}]}, "expected": [{"type": "f32", "value": "2139095039"}]}, 
+  {"type": "assert_return", "line": 340, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207152910337"}]}, "expected": [{"type": "f32", "value": "4286578687"}]}, 
+  {"type": "assert_return", "line": 341, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170566569984"}]}, "expected": [{"type": "f32", "value": "2139095039"}]}, 
+  {"type": "assert_return", "line": 342, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207421345792"}]}, "expected": [{"type": "f32", "value": "4286578687"}]}, 
+  {"type": "assert_return", "line": 343, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170835005439"}]}, "expected": [{"type": "f32", "value": "2139095039"}]}, 
+  {"type": "assert_return", "line": 344, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207689781247"}]}, "expected": [{"type": "f32", "value": "4286578687"}]}, 
+  {"type": "assert_return", "line": 345, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5183643170835005440"}]}, "expected": [{"type": "f32", "value": "2139095040"}]}, 
+  {"type": "assert_return", "line": 346, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14407015207689781248"}]}, "expected": [{"type": "f32", "value": "4286578688"}]}, 
+  {"type": "assert_return", "line": 347, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4071254063142928384"}]}, "expected": [{"type": "f32", "value": "67108864"}]}, 
+  {"type": "assert_return", "line": 348, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5172657297058430976"}]}, "expected": [{"type": "f32", "value": "2118632255"}]}, 
+  {"type": "assert_return", "line": 349, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9218868437227405312"}]}, "expected": [{"type": "f32", "value": "2139095040"}]}, 
+  {"type": "assert_return", "line": 350, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "18442240474082181120"}]}, "expected": [{"type": "f32", "value": "4286578688"}]}, 
+  {"type": "assert_return", "line": 351, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182418800017409"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
+  {"type": "assert_return", "line": 352, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182418800017407"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
+  {"type": "assert_return", "line": 353, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419068452864"}]}, "expected": [{"type": "f32", "value": "1065353216"}]}, 
+  {"type": "assert_return", "line": 354, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419068452865"}]}, "expected": [{"type": "f32", "value": "1065353217"}]}, 
+  {"type": "assert_return", "line": 355, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419605323775"}]}, "expected": [{"type": "f32", "value": "1065353217"}]}, 
+  {"type": "assert_return", "line": 356, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182419605323776"}]}, "expected": [{"type": "f32", "value": "1065353218"}]}, 
+  {"type": "assert_return", "line": 357, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4607182420142194688"}]}, "expected": [{"type": "f32", "value": "1065353218"}]}, 
+  {"type": "assert_return", "line": 358, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810125344768"}]}, "expected": [{"type": "f32", "value": "1266679808"}]}, 
+  {"type": "assert_return", "line": 359, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810125344769"}]}, "expected": [{"type": "f32", "value": "1266679809"}]}, 
+  {"type": "assert_return", "line": 360, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810662215679"}]}, "expected": [{"type": "f32", "value": "1266679809"}]}, 
+  {"type": "assert_return", "line": 361, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4715268810662215680"}]}, "expected": [{"type": "f32", "value": "1266679810"}]}, 
+  {"type": "assert_return", "line": 362, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "5094955347580439664"}]}, "expected": [{"type": "f32", "value": "1973901096"}]}, 
+  {"type": "assert_return", "line": 363, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4101111194527827589"}]}, "expected": [{"type": "f32", "value": "122722105"}]}, 
+  {"type": "assert_return", "line": 364, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4038806939559600639"}]}, "expected": [{"type": "f32", "value": "7529997"}]}, 
+  {"type": "assert_return", "line": 365, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13836913116900734306"}]}, "expected": [{"type": "f32", "value": "3224680794"}]}, 
+  {"type": "assert_return", "line": 366, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "14338315240173327556"}]}, "expected": [{"type": "f32", "value": "4158615026"}]}, 
+  {"type": "assert_return", "line": 367, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 368, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "4503599627370496"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 369, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "9227875636482146304"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 370, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "3931642474694443008"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 371, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13155014511549218816"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 372, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "3931642474694443009"}]}, "expected": [{"type": "f32", "value": "1"}]}, 
+  {"type": "assert_return", "line": 373, "action": {"type": "invoke", "field": "f32.demote_f64", "args": [{"type": "f64", "value": "13155014511549218817"}]}, "expected": [{"type": "f32", "value": "2147483649"}]}, 
+  {"type": "assert_return", "line": 375, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 376, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 377, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "f32", "value": "1"}]}, 
+  {"type": "assert_return", "line": 378, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "f32", "value": "4294967295"}]}, 
+  {"type": "assert_return", "line": 379, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "123456789"}]}, "expected": [{"type": "f32", "value": "123456789"}]}, 
+  {"type": "assert_return", "line": 380, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2147483649"}]}, "expected": [{"type": "f32", "value": "2147483649"}]}, 
+  {"type": "assert_return", "line": 381, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2139095040"}]}, "expected": [{"type": "f32", "value": "2139095040"}]}, 
+  {"type": "assert_return", "line": 382, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "4286578688"}]}, "expected": [{"type": "f32", "value": "4286578688"}]}, 
+  {"type": "assert_return", "line": 383, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2143289344"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 384, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}, 
+  {"type": "assert_return", "line": 385, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 386, "action": {"type": "invoke", "field": "f32.reinterpret_i32", "args": [{"type": "i32", "value": "4288675840"}]}, "expected": [{"type": "f32", "value": "4288675840"}]}, 
+  {"type": "assert_return", "line": 388, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
+  {"type": "assert_return", "line": 389, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "1"}]}, "expected": [{"type": "f64", "value": "1"}]}, 
+  {"type": "assert_return", "line": 390, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "f64", "value": "18446744073709551615"}]}, 
+  {"type": "assert_return", "line": 391, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "f64", "value": "9223372036854775808"}]}, 
+  {"type": "assert_return", "line": 392, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "1234567890"}]}, "expected": [{"type": "f64", "value": "1234567890"}]}, 
+  {"type": "assert_return", "line": 393, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9223372036854775809"}]}, "expected": [{"type": "f64", "value": "9223372036854775809"}]}, 
+  {"type": "assert_return", "line": 394, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9218868437227405312"}]}, "expected": [{"type": "f64", "value": "9218868437227405312"}]}, 
+  {"type": "assert_return", "line": 395, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "18442240474082181120"}]}, "expected": [{"type": "f64", "value": "18442240474082181120"}]}, 
+  {"type": "assert_return", "line": 396, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9221120237041090560"}]}, "expected": [{"type": "f64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 397, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "18444492273895866368"}]}, "expected": [{"type": "f64", "value": "18444492273895866368"}]}, 
+  {"type": "assert_return", "line": 398, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "9219994337134247936"}]}, "expected": [{"type": "f64", "value": "9219994337134247936"}]}, 
+  {"type": "assert_return", "line": 399, "action": {"type": "invoke", "field": "f64.reinterpret_i64", "args": [{"type": "i64", "value": "18443366373989023744"}]}, "expected": [{"type": "f64", "value": "18443366373989023744"}]}, 
+  {"type": "assert_return", "line": 401, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 402, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "i32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 403, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "1"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
+  {"type": "assert_return", "line": 404, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
+  {"type": "assert_return", "line": 405, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2147483649"}]}, "expected": [{"type": "i32", "value": "2147483649"}]}, 
+  {"type": "assert_return", "line": 406, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "1065353216"}]}, "expected": [{"type": "i32", "value": "1065353216"}]}, 
+  {"type": "assert_return", "line": 407, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "1078530010"}]}, "expected": [{"type": "i32", "value": "1078530010"}]}, 
+  {"type": "assert_return", "line": 408, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2139095039"}]}, "expected": [{"type": "i32", "value": "2139095039"}]}, 
+  {"type": "assert_return", "line": 409, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4286578687"}]}, "expected": [{"type": "i32", "value": "4286578687"}]}, 
+  {"type": "assert_return", "line": 410, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2139095040"}]}, "expected": [{"type": "i32", "value": "2139095040"}]}, 
+  {"type": "assert_return", "line": 411, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4286578688"}]}, "expected": [{"type": "i32", "value": "4286578688"}]}, 
+  {"type": "assert_return", "line": 412, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 413, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "i32", "value": "4290772992"}]}, 
+  {"type": "assert_return", "line": 414, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 415, "action": {"type": "invoke", "field": "i32.reinterpret_f32", "args": [{"type": "f32", "value": "4288675840"}]}, "expected": [{"type": "i32", "value": "4288675840"}]}, 
+  {"type": "assert_return", "line": 417, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "0"}]}, "expected": [{"type": "i64", "value": "0"}]}, 
+  {"type": "assert_return", "line": 418, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "i64", "value": "9223372036854775808"}]}, 
+  {"type": "assert_return", "line": 419, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "1"}]}, "expected": [{"type": "i64", "value": "1"}]}, 
+  {"type": "assert_return", "line": 420, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18446744073709551615"}]}, "expected": [{"type": "i64", "value": "18446744073709551615"}]}, 
+  {"type": "assert_return", "line": 421, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9223372036854775809"}]}, "expected": [{"type": "i64", "value": "9223372036854775809"}]}, 
+  {"type": "assert_return", "line": 422, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "4607182418800017408"}]}, "expected": [{"type": "i64", "value": "4607182418800017408"}]}, 
+  {"type": "assert_return", "line": 423, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "4614256656552045841"}]}, "expected": [{"type": "i64", "value": "4614256656552045841"}]}, 
+  {"type": "assert_return", "line": 424, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9218868437227405311"}]}, "expected": [{"type": "i64", "value": "9218868437227405311"}]}, 
+  {"type": "assert_return", "line": 425, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18442240474082181119"}]}, "expected": [{"type": "i64", "value": "18442240474082181119"}]}, 
+  {"type": "assert_return", "line": 426, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9218868437227405312"}]}, "expected": [{"type": "i64", "value": "9218868437227405312"}]}, 
+  {"type": "assert_return", "line": 427, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18442240474082181120"}]}, "expected": [{"type": "i64", "value": "18442240474082181120"}]}, 
+  {"type": "assert_return", "line": 428, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 429, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18444492273895866368"}]}, "expected": [{"type": "i64", "value": "18444492273895866368"}]}, 
+  {"type": "assert_return", "line": 430, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "9219994337134247936"}]}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
+  {"type": "assert_return", "line": 431, "action": {"type": "invoke", "field": "i64.reinterpret_f64", "args": [{"type": "f64", "value": "18443366373989023744"}]}, "expected": [{"type": "i64", "value": "18443366373989023744"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/custom_section.json

@@ -1,10 +1,10 @@
 {"source_filename": "custom_section.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "custom_section.0.wasm"}, 
   {"type": "module", "line": 11, "filename": "custom_section.1.wasm"}, 
   {"type": "module", "line": 47, "filename": "custom_section.2.wasm"}, 
   {"type": "assert_malformed", "line": 58, "filename": "custom_section.3.wasm", "text": "unexpected end"}, 
   {"type": "assert_malformed", "line": 66, "filename": "custom_section.4.wasm", "text": "unexpected end"}, 
   {"type": "assert_malformed", "line": 74, "filename": "custom_section.5.wasm", "text": "invalid section id"}, 
-  {"type": "assert_malformed", "line": 83, "filename": "custom_section.6.wasm", "text": "function and code section have inconsistent lengths"}
-]}
+  {"type": "assert_malformed", "line": 83, "filename": "custom_section.6.wasm", "text": "function and code section have inconsistent lengths"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/endianness.json

@@ -1,5 +1,6 @@
 {"source_filename": "endianness.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "endianness.0.wasm"}, 
   {"type": "assert_return", "line": 133, "action": {"type": "invoke", "field": "i32_load16_s", "args": [{"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
   {"type": "assert_return", "line": 134, "action": {"type": "invoke", "field": "i32_load16_s", "args": [{"type": "i32", "value": "4294963054"}]}, "expected": [{"type": "i32", "value": "4294963054"}]}, 
@@ -68,5 +69,4 @@
   {"type": "assert_return", "line": 214, "action": {"type": "invoke", "field": "f64_store", "args": [{"type": "f64", "value": "13830554455654793216"}]}, "expected": [{"type": "f64", "value": "13830554455654793216"}]}, 
   {"type": "assert_return", "line": 215, "action": {"type": "invoke", "field": "f64_store", "args": [{"type": "f64", "value": "4653144502447687399"}]}, "expected": [{"type": "f64", "value": "4653144502447687399"}]}, 
   {"type": "assert_return", "line": 216, "action": {"type": "invoke", "field": "f64_store", "args": [{"type": "f64", "value": "4691032041816096430"}]}, "expected": [{"type": "f64", "value": "4691032041816096430"}]}, 
-  {"type": "assert_return", "line": 217, "action": {"type": "invoke", "field": "f64_store", "args": [{"type": "f64", "value": "9218868437227405311"}]}, "expected": [{"type": "f64", "value": "9218868437227405311"}]}
-]}
+  {"type": "assert_return", "line": 217, "action": {"type": "invoke", "field": "f64_store", "args": [{"type": "f64", "value": "9218868437227405311"}]}, "expected": [{"type": "f64", "value": "9218868437227405311"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/exports.json

@@ -1,5 +1,6 @@
 {"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"}, 
@@ -79,5 +80,4 @@
   {"type": "assert_invalid", "line": 177, "filename": "exports.70.wasm", "text": "duplicate export name"}, 
   {"type": "assert_invalid", "line": 186, "filename": "exports.71.wasm", "text": "duplicate export name"}, 
   {"type": "assert_invalid", "line": 190, "filename": "exports.72.wasm", "text": "duplicate export name"}, 
-  {"type": "assert_invalid", "line": 194, "filename": "exports.73.wasm", "text": "duplicate export name"}
-]}
+  {"type": "assert_invalid", "line": 194, "filename": "exports.73.wasm", "text": "duplicate export name"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/f32.json

@@ -1,5 +1,6 @@
 {"source_filename": "f32.wast",
  "commands": [
+
   {"type": "module", "line": 4, "filename": "f32.0.wasm"}, 
   {"type": "assert_return", "line": 21, "action": {"type": "invoke", "field": "add", "args": [{"type": "f32", "value": "2147483648"}, {"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
   {"type": "assert_return", "line": 22, "action": {"type": "invoke", "field": "add", "args": [{"type": "f32", "value": "2147483648"}, {"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
@@ -2394,5 +2395,4 @@
   {"type": "assert_return", "line": 2411, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f32", "value": "4286578688"}]}, "expected": [{"type": "f32", "value": "2139095040"}]}, 
   {"type": "assert_return", "line": 2412, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f32", "value": "2139095040"}]}, "expected": [{"type": "f32", "value": "4286578688"}]}, 
   {"type": "assert_return", "line": 2413, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
-  {"type": "assert_return", "line": 2414, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}
-]}
+  {"type": "assert_return", "line": 2414, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/f32_cmp.json

@@ -1,5 +1,6 @@
 {"source_filename": "f32_cmp.wast",
  "commands": [
+
   {"type": "module", "line": 4, "filename": "f32_cmp.0.wasm"}, 
   {"type": "assert_return", "line": 13, "action": {"type": "invoke", "field": "eq", "args": [{"type": "f32", "value": "2147483648"}, {"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 14, "action": {"type": "invoke", "field": "eq", "args": [{"type": "f32", "value": "2147483648"}, {"type": "f32", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
@@ -1944,5 +1945,4 @@
   {"type": "assert_return", "line": 1953, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f32", "value": "4290772992"}, {"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1954, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f32", "value": "4290772992"}, {"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1955, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f32", "value": "2143289344"}, {"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 1956, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f32", "value": "2143289344"}, {"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 1956, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f32", "value": "2143289344"}, {"type": "f32", "value": "2143289344"}]}, "expected": [{"type": "i32", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/f64.json

@@ -1,5 +1,6 @@
 {"source_filename": "f64.wast",
  "commands": [
+
   {"type": "module", "line": 4, "filename": "f64.0.wasm"}, 
   {"type": "assert_return", "line": 21, "action": {"type": "invoke", "field": "add", "args": [{"type": "f64", "value": "9223372036854775808"}, {"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "f64", "value": "9223372036854775808"}]}, 
   {"type": "assert_return", "line": 22, "action": {"type": "invoke", "field": "add", "args": [{"type": "f64", "value": "9223372036854775808"}, {"type": "f64", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
@@ -2394,5 +2395,4 @@
   {"type": "assert_return", "line": 2411, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f64", "value": "18442240474082181120"}]}, "expected": [{"type": "f64", "value": "9218868437227405312"}]}, 
   {"type": "assert_return", "line": 2412, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f64", "value": "9218868437227405312"}]}, "expected": [{"type": "f64", "value": "18442240474082181120"}]}, 
   {"type": "assert_return", "line": 2413, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f64", "value": "18444492273895866368"}]}, "expected": [{"type": "f64", "value": "9221120237041090560"}]}, 
-  {"type": "assert_return", "line": 2414, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "f64", "value": "18444492273895866368"}]}
-]}
+  {"type": "assert_return", "line": 2414, "action": {"type": "invoke", "field": "neg", "args": [{"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "f64", "value": "18444492273895866368"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/f64_cmp.json

@@ -1,5 +1,6 @@
 {"source_filename": "f64_cmp.wast",
  "commands": [
+
   {"type": "module", "line": 4, "filename": "f64_cmp.0.wasm"}, 
   {"type": "assert_return", "line": 13, "action": {"type": "invoke", "field": "eq", "args": [{"type": "f64", "value": "9223372036854775808"}, {"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 14, "action": {"type": "invoke", "field": "eq", "args": [{"type": "f64", "value": "9223372036854775808"}, {"type": "f64", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
@@ -1944,5 +1945,4 @@
   {"type": "assert_return", "line": 1953, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f64", "value": "18444492273895866368"}, {"type": "f64", "value": "18444492273895866368"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1954, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f64", "value": "18444492273895866368"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1955, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f64", "value": "9221120237041090560"}, {"type": "f64", "value": "18444492273895866368"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 1956, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f64", "value": "9221120237041090560"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 1956, "action": {"type": "invoke", "field": "ge", "args": [{"type": "f64", "value": "9221120237041090560"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/fac.json

@@ -1,10 +1,10 @@
 {"source_filename": "fac.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "fac.0.wasm"}, 
   {"type": "assert_return", "line": 80, "action": {"type": "invoke", "field": "fac-rec", "args": [{"type": "i64", "value": "25"}]}, "expected": [{"type": "i64", "value": "7034535277573963776"}]}, 
   {"type": "assert_return", "line": 81, "action": {"type": "invoke", "field": "fac-iter", "args": [{"type": "i64", "value": "25"}]}, "expected": [{"type": "i64", "value": "7034535277573963776"}]}, 
   {"type": "assert_return", "line": 82, "action": {"type": "invoke", "field": "fac-rec-named", "args": [{"type": "i64", "value": "25"}]}, "expected": [{"type": "i64", "value": "7034535277573963776"}]}, 
   {"type": "assert_return", "line": 83, "action": {"type": "invoke", "field": "fac-iter-named", "args": [{"type": "i64", "value": "25"}]}, "expected": [{"type": "i64", "value": "7034535277573963776"}]}, 
   {"type": "assert_return", "line": 84, "action": {"type": "invoke", "field": "fac-opt", "args": [{"type": "i64", "value": "25"}]}, "expected": [{"type": "i64", "value": "7034535277573963776"}]}, 
-  {"type": "assert_exhaustion", "line": 85, "action": {"type": "invoke", "field": "fac-rec", "args": [{"type": "i64", "value": "1073741824"}]}}
-]}
+  {"type": "assert_exhaustion", "line": 85, "action": {"type": "invoke", "field": "fac-rec", "args": [{"type": "i64", "value": "1073741824"}]}}]}

BIN=BIN
test/WasmSpec/testsuite-bin/float_exprs.81.wasm


+ 31 - 2
test/WasmSpec/testsuite-bin/float_exprs.json

@@ -1,5 +1,6 @@
 {"source_filename": "float_exprs.wast",
  "commands": [
+
   {"type": "module", "line": 6, "filename": "float_exprs.0.wasm"}, 
   {"type": "assert_return", "line": 11, "action": {"type": "invoke", "field": "f64.no_contraction", "args": [{"type": "f64", "value": "13369472591878845359"}, {"type": "f64", "value": "7598224971858294334"}, {"type": "f64", "value": "7009968021366006149"}]}, "expected": [{"type": "f64", "value": "16360919150252594323"}]}, 
   {"type": "assert_return", "line": 12, "action": {"type": "invoke", "field": "f64.no_contraction", "args": [{"type": "f64", "value": "4845207016438394692"}, {"type": "f64", "value": "3163224970157846858"}, {"type": "f64", "value": "3251145870828527841"}]}, "expected": [{"type": "f64", "value": "3401457070760597396"}]}, 
@@ -474,15 +475,19 @@
   {"type": "assert_return", "line": 941, "action": {"type": "invoke", "field": "f64.no_fold_ge_if", "args": [{"type": "f64", "value": "0"}, {"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
   {"type": "assert_return", "line": 942, "action": {"type": "invoke", "field": "f64.no_fold_ge_if", "args": [{"type": "f64", "value": "9223372036854775808"}, {"type": "f64", "value": "0"}]}, "expected": [{"type": "f64", "value": "9223372036854775808"}]}, 
   {"type": "module", "line": 946, "filename": "float_exprs.43.wasm"}, 
+  {"type": "assert_return", "line": 958, "action": {"type": "invoke", "field": "f32.no_fold_lt_select_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "assert_return", "line": 959, "action": {"type": "invoke", "field": "f32.no_fold_lt_select_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}, 
   {"type": "assert_return", "line": 960, "action": {"type": "invoke", "field": "f32.no_fold_lt_select_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "assert_return", "line": 961, "action": {"type": "invoke", "field": "f32.no_fold_lt_select_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 962, "action": {"type": "invoke", "field": "f32.no_fold_le_select_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "assert_return", "line": 963, "action": {"type": "invoke", "field": "f32.no_fold_le_select_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}, 
   {"type": "assert_return", "line": 964, "action": {"type": "invoke", "field": "f32.no_fold_le_select_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
   {"type": "assert_return", "line": 965, "action": {"type": "invoke", "field": "f32.no_fold_le_select_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 966, "action": {"type": "invoke", "field": "f32.no_fold_gt_select_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "4288675840"}]}, 
   {"type": "assert_return", "line": 967, "action": {"type": "invoke", "field": "f32.no_fold_gt_select_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
   {"type": "assert_return", "line": 968, "action": {"type": "invoke", "field": "f32.no_fold_gt_select_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
   {"type": "assert_return", "line": 969, "action": {"type": "invoke", "field": "f32.no_fold_gt_select_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 970, "action": {"type": "invoke", "field": "f32.no_fold_ge_select_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "4288675840"}]}, 
   {"type": "assert_return", "line": 971, "action": {"type": "invoke", "field": "f32.no_fold_ge_select_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
   {"type": "assert_return", "line": 972, "action": {"type": "invoke", "field": "f32.no_fold_ge_select_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "assert_return", "line": 973, "action": {"type": "invoke", "field": "f32.no_fold_ge_select_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
@@ -503,15 +508,19 @@
   {"type": "assert_return", "line": 988, "action": {"type": "invoke", "field": "f64.no_fold_ge_select_to_abs", "args": [{"type": "f64", "value": "0"}]}, "expected": [{"type": "f64", "value": "0"}]}, 
   {"type": "assert_return", "line": 989, "action": {"type": "invoke", "field": "f64.no_fold_ge_select_to_abs", "args": [{"type": "f64", "value": "9223372036854775808"}]}, "expected": [{"type": "f64", "value": "9223372036854775808"}]}, 
   {"type": "module", "line": 993, "filename": "float_exprs.44.wasm"}, 
+  {"type": "assert_return", "line": 1005, "action": {"type": "invoke", "field": "f32.no_fold_lt_if_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "assert_return", "line": 1006, "action": {"type": "invoke", "field": "f32.no_fold_lt_if_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}, 
   {"type": "assert_return", "line": 1007, "action": {"type": "invoke", "field": "f32.no_fold_lt_if_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1008, "action": {"type": "invoke", "field": "f32.no_fold_lt_if_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
+  {"type": "assert_return", "line": 1009, "action": {"type": "invoke", "field": "f32.no_fold_le_if_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "assert_return", "line": 1010, "action": {"type": "invoke", "field": "f32.no_fold_le_if_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "4290772992"}]}, 
   {"type": "assert_return", "line": 1011, "action": {"type": "invoke", "field": "f32.no_fold_le_if_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
   {"type": "assert_return", "line": 1012, "action": {"type": "invoke", "field": "f32.no_fold_le_if_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 1013, "action": {"type": "invoke", "field": "f32.no_fold_gt_if_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "4288675840"}]}, 
   {"type": "assert_return", "line": 1014, "action": {"type": "invoke", "field": "f32.no_fold_gt_if_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
   {"type": "assert_return", "line": 1015, "action": {"type": "invoke", "field": "f32.no_fold_gt_if_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
   {"type": "assert_return", "line": 1016, "action": {"type": "invoke", "field": "f32.no_fold_gt_if_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
+  {"type": "assert_return", "line": 1017, "action": {"type": "invoke", "field": "f32.no_fold_ge_if_to_abs", "args": [{"type": "f32", "value": "2141192192"}]}, "expected": [{"type": "f32", "value": "4288675840"}]}, 
   {"type": "assert_return", "line": 1018, "action": {"type": "invoke", "field": "f32.no_fold_ge_if_to_abs", "args": [{"type": "f32", "value": "4290772992"}]}, "expected": [{"type": "f32", "value": "2143289344"}]}, 
   {"type": "assert_return", "line": 1019, "action": {"type": "invoke", "field": "f32.no_fold_ge_if_to_abs", "args": [{"type": "f32", "value": "0"}]}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1020, "action": {"type": "invoke", "field": "f32.no_fold_ge_if_to_abs", "args": [{"type": "f32", "value": "2147483648"}]}, "expected": [{"type": "f32", "value": "2147483648"}]}, 
@@ -776,5 +785,25 @@
   {"type": "assert_return", "line": 1976, "action": {"type": "invoke", "field": "f64.no_trichotomy_lt", "args": [{"type": "f64", "value": "0"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1977, "action": {"type": "invoke", "field": "f64.no_trichotomy_le", "args": [{"type": "f64", "value": "0"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 1978, "action": {"type": "invoke", "field": "f64.no_trichotomy_gt", "args": [{"type": "f64", "value": "0"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
-  {"type": "assert_return", "line": 1979, "action": {"type": "invoke", "field": "f64.no_trichotomy_ge", "args": [{"type": "f64", "value": "0"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 1979, "action": {"type": "invoke", "field": "f64.no_trichotomy_ge", "args": [{"type": "f64", "value": "0"}, {"type": "f64", "value": "9221120237041090560"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
+  {"type": "module", "line": 1984, "filename": "float_exprs.81.wasm"}, 
+  {"type": "assert_return", "line": 2022, "action": {"type": "invoke", "field": "f32.arithmetic_nan_bitpattern", "args": [{"type": "i32", "value": "2139107856"}, {"type": "i32", "value": "2139107856"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 2023, "action": {"type": "invoke", "field": "f32.canonical_nan_bitpattern", "args": [{"type": "i32", "value": "0"}, {"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 2024, "action": {"type": "invoke", "field": "f32.canonical_nan_bitpattern", "args": [{"type": "i32", "value": "2143289344"}, {"type": "i32", "value": "2143289344"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 2025, "action": {"type": "invoke", "field": "f32.canonical_nan_bitpattern", "args": [{"type": "i32", "value": "4290772992"}, {"type": "i32", "value": "2143289344"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 2026, "action": {"type": "invoke", "field": "f32.canonical_nan_bitpattern", "args": [{"type": "i32", "value": "2143289344"}, {"type": "i32", "value": "4290772992"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 2027, "action": {"type": "invoke", "field": "f32.canonical_nan_bitpattern", "args": [{"type": "i32", "value": "4290772992"}, {"type": "i32", "value": "4290772992"}]}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 2028, "action": {"type": "invoke", "field": "f32.nonarithmetic_nan_bitpattern", "args": [{"type": "i32", "value": "2143302160"}]}, "expected": [{"type": "i32", "value": "4290785808"}]}, 
+  {"type": "assert_return", "line": 2029, "action": {"type": "invoke", "field": "f32.nonarithmetic_nan_bitpattern", "args": [{"type": "i32", "value": "4290785808"}]}, "expected": [{"type": "i32", "value": "2143302160"}]}, 
+  {"type": "assert_return", "line": 2030, "action": {"type": "invoke", "field": "f32.nonarithmetic_nan_bitpattern", "args": [{"type": "i32", "value": "2139107856"}]}, "expected": [{"type": "i32", "value": "4286591504"}]}, 
+  {"type": "assert_return", "line": 2031, "action": {"type": "invoke", "field": "f32.nonarithmetic_nan_bitpattern", "args": [{"type": "i32", "value": "4286591504"}]}, "expected": [{"type": "i32", "value": "2139107856"}]}, 
+  {"type": "assert_return", "line": 2032, "action": {"type": "invoke", "field": "f64.arithmetic_nan_bitpattern", "args": [{"type": "i64", "value": "9218868437227418128"}, {"type": "i64", "value": "9218868437227418128"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 2033, "action": {"type": "invoke", "field": "f64.canonical_nan_bitpattern", "args": [{"type": "i64", "value": "0"}, {"type": "i64", "value": "0"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 2034, "action": {"type": "invoke", "field": "f64.canonical_nan_bitpattern", "args": [{"type": "i64", "value": "9221120237041090560"}, {"type": "i64", "value": "9221120237041090560"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 2035, "action": {"type": "invoke", "field": "f64.canonical_nan_bitpattern", "args": [{"type": "i64", "value": "18444492273895866368"}, {"type": "i64", "value": "9221120237041090560"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 2036, "action": {"type": "invoke", "field": "f64.canonical_nan_bitpattern", "args": [{"type": "i64", "value": "9221120237041090560"}, {"type": "i64", "value": "18444492273895866368"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 2037, "action": {"type": "invoke", "field": "f64.canonical_nan_bitpattern", "args": [{"type": "i64", "value": "18444492273895866368"}, {"type": "i64", "value": "18444492273895866368"}]}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 2038, "action": {"type": "invoke", "field": "f64.nonarithmetic_nan_bitpattern", "args": [{"type": "i64", "value": "9221120237041103376"}]}, "expected": [{"type": "i64", "value": "18444492273895879184"}]}, 
+  {"type": "assert_return", "line": 2039, "action": {"type": "invoke", "field": "f64.nonarithmetic_nan_bitpattern", "args": [{"type": "i64", "value": "18444492273895879184"}]}, "expected": [{"type": "i64", "value": "9221120237041103376"}]}, 
+  {"type": "assert_return", "line": 2040, "action": {"type": "invoke", "field": "f64.nonarithmetic_nan_bitpattern", "args": [{"type": "i64", "value": "9218868437227418128"}]}, "expected": [{"type": "i64", "value": "18442240474082193936"}]}, 
+  {"type": "assert_return", "line": 2041, "action": {"type": "invoke", "field": "f64.nonarithmetic_nan_bitpattern", "args": [{"type": "i64", "value": "18442240474082193936"}]}, "expected": [{"type": "i64", "value": "9218868437227418128"}]}]}

+ 10 - 2
test/WasmSpec/testsuite-bin/float_literals.json

@@ -1,11 +1,16 @@
 {"source_filename": "float_literals.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "float_literals.0.wasm"}, 
   {"type": "assert_return", "line": 77, "action": {"type": "invoke", "field": "f32.nan", "args": []}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
   {"type": "assert_return", "line": 78, "action": {"type": "invoke", "field": "f32.positive_nan", "args": []}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
   {"type": "assert_return", "line": 79, "action": {"type": "invoke", "field": "f32.negative_nan", "args": []}, "expected": [{"type": "i32", "value": "4290772992"}]}, 
   {"type": "assert_return", "line": 80, "action": {"type": "invoke", "field": "f32.plain_nan", "args": []}, "expected": [{"type": "i32", "value": "2143289344"}]}, 
+  {"type": "assert_return", "line": 81, "action": {"type": "invoke", "field": "f32.informally_known_as_plain_snan", "args": []}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
   {"type": "assert_return", "line": 82, "action": {"type": "invoke", "field": "f32.all_ones_nan", "args": []}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
+  {"type": "assert_return", "line": 83, "action": {"type": "invoke", "field": "f32.misc_nan", "args": []}, "expected": [{"type": "i32", "value": "2139169605"}]}, 
+  {"type": "assert_return", "line": 84, "action": {"type": "invoke", "field": "f32.misc_positive_nan", "args": []}, "expected": [{"type": "i32", "value": "2142257232"}]}, 
+  {"type": "assert_return", "line": 85, "action": {"type": "invoke", "field": "f32.misc_negative_nan", "args": []}, "expected": [{"type": "i32", "value": "4289379550"}]}, 
   {"type": "assert_return", "line": 86, "action": {"type": "invoke", "field": "f32.infinity", "args": []}, "expected": [{"type": "i32", "value": "2139095040"}]}, 
   {"type": "assert_return", "line": 87, "action": {"type": "invoke", "field": "f32.positive_infinity", "args": []}, "expected": [{"type": "i32", "value": "2139095040"}]}, 
   {"type": "assert_return", "line": 88, "action": {"type": "invoke", "field": "f32.negative_infinity", "args": []}, "expected": [{"type": "i32", "value": "4286578688"}]}, 
@@ -31,7 +36,11 @@
   {"type": "assert_return", "line": 109, "action": {"type": "invoke", "field": "f64.positive_nan", "args": []}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
   {"type": "assert_return", "line": 110, "action": {"type": "invoke", "field": "f64.negative_nan", "args": []}, "expected": [{"type": "i64", "value": "18444492273895866368"}]}, 
   {"type": "assert_return", "line": 111, "action": {"type": "invoke", "field": "f64.plain_nan", "args": []}, "expected": [{"type": "i64", "value": "9221120237041090560"}]}, 
+  {"type": "assert_return", "line": 112, "action": {"type": "invoke", "field": "f64.informally_known_as_plain_snan", "args": []}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
   {"type": "assert_return", "line": 113, "action": {"type": "invoke", "field": "f64.all_ones_nan", "args": []}, "expected": [{"type": "i64", "value": "18446744073709551615"}]}, 
+  {"type": "assert_return", "line": 114, "action": {"type": "invoke", "field": "f64.misc_nan", "args": []}, "expected": [{"type": "i64", "value": "9218888453225749180"}]}, 
+  {"type": "assert_return", "line": 115, "action": {"type": "invoke", "field": "f64.misc_positive_nan", "args": []}, "expected": [{"type": "i64", "value": "9219717281780008969"}]}, 
+  {"type": "assert_return", "line": 116, "action": {"type": "invoke", "field": "f64.misc_negative_nan", "args": []}, "expected": [{"type": "i64", "value": "18442992325002076997"}]}, 
   {"type": "assert_return", "line": 117, "action": {"type": "invoke", "field": "f64.infinity", "args": []}, "expected": [{"type": "i64", "value": "9218868437227405312"}]}, 
   {"type": "assert_return", "line": 118, "action": {"type": "invoke", "field": "f64.positive_infinity", "args": []}, "expected": [{"type": "i64", "value": "9218868437227405312"}]}, 
   {"type": "assert_return", "line": 119, "action": {"type": "invoke", "field": "f64.negative_infinity", "args": []}, "expected": [{"type": "i64", "value": "18442240474082181120"}]}, 
@@ -52,5 +61,4 @@
   {"type": "assert_return", "line": 134, "action": {"type": "invoke", "field": "f64_dec.min_normal", "args": []}, "expected": [{"type": "i64", "value": "4503599627370496"}]}, 
   {"type": "assert_return", "line": 135, "action": {"type": "invoke", "field": "f64_dec.max_subnormal", "args": []}, "expected": [{"type": "i64", "value": "4503599627370495"}]}, 
   {"type": "assert_return", "line": 136, "action": {"type": "invoke", "field": "f64_dec.max_finite", "args": []}, "expected": [{"type": "i64", "value": "9218868437227405311"}]}, 
-  {"type": "assert_return", "line": 137, "action": {"type": "invoke", "field": "f64_dec.trailing_dot", "args": []}, "expected": [{"type": "i64", "value": "6103021453049119613"}]}
-]}
+  {"type": "assert_return", "line": 137, "action": {"type": "invoke", "field": "f64_dec.trailing_dot", "args": []}, "expected": [{"type": "i64", "value": "6103021453049119613"}]}]}

+ 16 - 2
test/WasmSpec/testsuite-bin/float_memory.json

@@ -1,51 +1,66 @@
 {"source_filename": "float_memory.wast",
  "commands": [
+
   {"type": "module", "line": 5, "filename": "float_memory.0.wasm"}, 
   {"type": "assert_return", "line": 15, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 16, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "action", "line": 17, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 18, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 19, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "action", "line": 20, "action": {"type": "invoke", "field": "f32.store", "args": []}}, 
+  {"type": "assert_return", "line": 21, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 22, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "action", "line": 23, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 24, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 25, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "action", "line": 26, "action": {"type": "invoke", "field": "i32.store", "args": []}}, 
   {"type": "assert_return", "line": 27, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 28, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "module", "line": 30, "filename": "float_memory.1.wasm"}, 
   {"type": "assert_return", "line": 40, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
+  {"type": "assert_return", "line": 41, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9219994337134247936"}]}, 
   {"type": "action", "line": 42, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 43, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "0"}]}, 
   {"type": "assert_return", "line": 44, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "0"}]}, 
   {"type": "action", "line": 45, "action": {"type": "invoke", "field": "f64.store", "args": []}}, 
+  {"type": "assert_return", "line": 46, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
   {"type": "assert_return", "line": 47, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9219994337134247936"}]}, 
   {"type": "action", "line": 48, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 49, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "0"}]}, 
   {"type": "assert_return", "line": 50, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "0"}]}, 
   {"type": "action", "line": 51, "action": {"type": "invoke", "field": "i64.store", "args": []}}, 
   {"type": "assert_return", "line": 52, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
+  {"type": "assert_return", "line": 53, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9219994337134247936"}]}, 
   {"type": "module", "line": 57, "filename": "float_memory.2.wasm"}, 
   {"type": "assert_return", "line": 67, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 68, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "action", "line": 69, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 70, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 71, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "action", "line": 72, "action": {"type": "invoke", "field": "f32.store", "args": []}}, 
+  {"type": "assert_return", "line": 73, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 74, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "action", "line": 75, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 76, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 77, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "0"}]}, 
   {"type": "action", "line": 78, "action": {"type": "invoke", "field": "i32.store", "args": []}}, 
   {"type": "assert_return", "line": 79, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "2141192192"}]}, 
+  {"type": "assert_return", "line": 80, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "2141192192"}]}, 
   {"type": "module", "line": 82, "filename": "float_memory.3.wasm"}, 
   {"type": "assert_return", "line": 92, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
+  {"type": "assert_return", "line": 93, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9219994337134247936"}]}, 
   {"type": "action", "line": 94, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 95, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "0"}]}, 
   {"type": "assert_return", "line": 96, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "0"}]}, 
   {"type": "action", "line": 97, "action": {"type": "invoke", "field": "f64.store", "args": []}}, 
+  {"type": "assert_return", "line": 98, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
   {"type": "assert_return", "line": 99, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9219994337134247936"}]}, 
   {"type": "action", "line": 100, "action": {"type": "invoke", "field": "reset", "args": []}}, 
   {"type": "assert_return", "line": 101, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "0"}]}, 
   {"type": "assert_return", "line": 102, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "0"}]}, 
   {"type": "action", "line": 103, "action": {"type": "invoke", "field": "i64.store", "args": []}}, 
   {"type": "assert_return", "line": 104, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "9219994337134247936"}]}, 
+  {"type": "assert_return", "line": 105, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9219994337134247936"}]}, 
   {"type": "module", "line": 109, "filename": "float_memory.4.wasm"}, 
   {"type": "assert_return", "line": 119, "action": {"type": "invoke", "field": "i32.load", "args": []}, "expected": [{"type": "i32", "value": "2144337921"}]}, 
   {"type": "assert_return", "line": 120, "action": {"type": "invoke", "field": "f32.load", "args": []}, "expected": [{"type": "f32", "value": "2144337921"}]}, 
@@ -75,5 +90,4 @@
   {"type": "assert_return", "line": 154, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "0"}]}, 
   {"type": "action", "line": 155, "action": {"type": "invoke", "field": "i64.store", "args": []}}, 
   {"type": "assert_return", "line": 156, "action": {"type": "invoke", "field": "i64.load", "args": []}, "expected": [{"type": "i64", "value": "9222246136947933185"}]}, 
-  {"type": "assert_return", "line": 157, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9222246136947933185"}]}
-]}
+  {"type": "assert_return", "line": 157, "action": {"type": "invoke", "field": "f64.load", "args": []}, "expected": [{"type": "f64", "value": "9222246136947933185"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/float_misc.json

@@ -1,5 +1,6 @@
 {"source_filename": "float_misc.wast",
  "commands": [
+
   {"type": "module", "line": 17, "filename": "float_misc.0.wasm"}, 
   {"type": "assert_return", "line": 50, "action": {"type": "invoke", "field": "f32.add", "args": [{"type": "f32", "value": "1066388847"}, {"type": "f32", "value": "789036054"}]}, "expected": [{"type": "f32", "value": "1066388847"}]}, 
   {"type": "assert_return", "line": 51, "action": {"type": "invoke", "field": "f64.add", "args": [{"type": "f64", "value": "4607738418748954166"}, {"type": "f64", "value": "4458835772027226175"}]}, "expected": [{"type": "f64", "value": "4607738418749510135"}]}, 
@@ -417,5 +418,4 @@
   {"type": "assert_return", "line": 630, "action": {"type": "invoke", "field": "f32.nearest", "args": [{"type": "f32", "value": "3405774847"}]}, "expected": [{"type": "f32", "value": "3405774848"}]}, 
   {"type": "assert_return", "line": 631, "action": {"type": "invoke", "field": "f32.nearest", "args": [{"type": "f32", "value": "1258291199"}]}, "expected": [{"type": "f32", "value": "1258291200"}]}, 
   {"type": "assert_return", "line": 632, "action": {"type": "invoke", "field": "f64.nearest", "args": [{"type": "f64", "value": "14064741636278059007"}]}, "expected": [{"type": "f64", "value": "14064741636278059008"}]}, 
-  {"type": "assert_return", "line": 633, "action": {"type": "invoke", "field": "f64.nearest", "args": [{"type": "f64", "value": "4841369599423283199"}]}, "expected": [{"type": "f64", "value": "4841369599423283200"}]}
-]}
+  {"type": "assert_return", "line": 633, "action": {"type": "invoke", "field": "f64.nearest", "args": [{"type": "f64", "value": "4841369599423283199"}]}, "expected": [{"type": "f64", "value": "4841369599423283200"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/forward.json

@@ -1,8 +1,8 @@
 {"source_filename": "forward.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "forward.0.wasm"}, 
   {"type": "assert_return", "line": 17, "action": {"type": "invoke", "field": "even", "args": [{"type": "i32", "value": "13"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 18, "action": {"type": "invoke", "field": "even", "args": [{"type": "i32", "value": "20"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 19, "action": {"type": "invoke", "field": "odd", "args": [{"type": "i32", "value": "13"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 20, "action": {"type": "invoke", "field": "odd", "args": [{"type": "i32", "value": "20"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 20, "action": {"type": "invoke", "field": "odd", "args": [{"type": "i32", "value": "20"}]}, "expected": [{"type": "i32", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/func.json

@@ -1,5 +1,6 @@
 {"source_filename": "func.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "func.0.wasm"}, 
   {"type": "assert_return", "line": 205, "action": {"type": "invoke", "field": "local-first-i32", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 206, "action": {"type": "invoke", "field": "local-first-i64", "args": []}, "expected": [{"type": "i64", "value": "0"}]}, 
@@ -96,5 +97,4 @@
   {"type": "assert_invalid", "line": 464, "filename": "func.27.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 471, "filename": "func.28.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 477, "filename": "func.29.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 483, "filename": "func.30.wasm", "text": "type mismatch"}
-]}
+  {"type": "assert_invalid", "line": 483, "filename": "func.30.wasm", "text": "type mismatch"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/func_ptrs.json

@@ -1,5 +1,6 @@
 {"source_filename": "func_ptrs.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "func_ptrs.0.wasm"}, 
   {"type": "assert_return", "line": 26, "action": {"type": "invoke", "field": "one", "args": []}, "expected": [{"type": "i32", "value": "13"}]}, 
   {"type": "assert_return", "line": 27, "action": {"type": "invoke", "field": "two", "args": [{"type": "i32", "value": "13"}]}, "expected": [{"type": "i32", "value": "14"}]}, 
@@ -35,5 +36,4 @@
   {"type": "assert_trap", "line": 90, "action": {"type": "invoke", "field": "callu", "args": [{"type": "i32", "value": "4294967295"}]}, "text": "undefined element"}, 
   {"type": "module", "line": 92, "filename": "func_ptrs.9.wasm"}, 
   {"type": "assert_return", "line": 104, "action": {"type": "invoke", "field": "callt", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 105, "action": {"type": "invoke", "field": "callt", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "2"}]}
-]}
+  {"type": "assert_return", "line": 105, "action": {"type": "invoke", "field": "callt", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "2"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/get_local.json

@@ -1,5 +1,6 @@
 {"source_filename": "get_local.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "get_local.0.wasm"}, 
   {"type": "assert_return", "line": 64, "action": {"type": "invoke", "field": "type-local-i32", "args": []}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 65, "action": {"type": "invoke", "field": "type-local-i64", "args": []}, "expected": [{"type": "i64", "value": "0"}]}, 
@@ -22,5 +23,4 @@
   {"type": "assert_invalid", "line": 132, "filename": "get_local.9.wasm", "text": "unknown local"}, 
   {"type": "assert_invalid", "line": 136, "filename": "get_local.10.wasm", "text": "unknown local"}, 
   {"type": "assert_invalid", "line": 141, "filename": "get_local.11.wasm", "text": "unknown local"}, 
-  {"type": "assert_invalid", "line": 145, "filename": "get_local.12.wasm", "text": "unknown local"}
-]}
+  {"type": "assert_invalid", "line": 145, "filename": "get_local.12.wasm", "text": "unknown local"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/globals.json

@@ -1,5 +1,6 @@
 {"source_filename": "globals.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "globals.0.wasm"}, 
   {"type": "assert_return", "line": 29, "action": {"type": "invoke", "field": "get-a", "args": []}, "expected": [{"type": "i32", "value": "4294967294"}]}, 
   {"type": "assert_return", "line": 30, "action": {"type": "invoke", "field": "get-b", "args": []}, "expected": [{"type": "i64", "value": "18446744073709551611"}]}, 
@@ -32,5 +33,4 @@
   {"type": "assert_malformed", "line": 116, "filename": "globals.13.wasm", "text": "invalid mutability"}, 
   {"type": "module", "line": 129, "filename": "globals.14.wasm"}, 
   {"type": "assert_malformed", "line": 133, "filename": "globals.15.wasm", "text": "invalid mutability"}, 
-  {"type": "assert_malformed", "line": 145, "filename": "globals.16.wasm", "text": "invalid mutability"}
-]}
+  {"type": "assert_malformed", "line": 145, "filename": "globals.16.wasm", "text": "invalid mutability"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/i32.json

@@ -1,5 +1,6 @@
 {"source_filename": "i32.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "i32.0.wasm"}, 
   {"type": "assert_return", "line": 35, "action": {"type": "invoke", "field": "add", "args": [{"type": "i32", "value": "1"}, {"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "2"}]}, 
   {"type": "assert_return", "line": 36, "action": {"type": "invoke", "field": "add", "args": [{"type": "i32", "value": "1"}, {"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
@@ -342,5 +343,4 @@
   {"type": "assert_return", "line": 401, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i32", "value": "2147483648"}, {"type": "i32", "value": "4294967295"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 402, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i32", "value": "4294967295"}, {"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 403, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i32", "value": "2147483648"}, {"type": "i32", "value": "2147483647"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 404, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i32", "value": "2147483647"}, {"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 404, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i32", "value": "2147483647"}, {"type": "i32", "value": "2147483648"}]}, "expected": [{"type": "i32", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/i64.json

@@ -1,5 +1,6 @@
 {"source_filename": "i64.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "i64.0.wasm"}, 
   {"type": "assert_return", "line": 35, "action": {"type": "invoke", "field": "add", "args": [{"type": "i64", "value": "1"}, {"type": "i64", "value": "1"}]}, "expected": [{"type": "i64", "value": "2"}]}, 
   {"type": "assert_return", "line": 36, "action": {"type": "invoke", "field": "add", "args": [{"type": "i64", "value": "1"}, {"type": "i64", "value": "0"}]}, "expected": [{"type": "i64", "value": "1"}]}, 
@@ -344,5 +345,4 @@
   {"type": "assert_return", "line": 403, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i64", "value": "9223372036854775808"}, {"type": "i64", "value": "18446744073709551615"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
   {"type": "assert_return", "line": 404, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i64", "value": "18446744073709551615"}, {"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 405, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i64", "value": "9223372036854775808"}, {"type": "i64", "value": "9223372036854775807"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 406, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i64", "value": "9223372036854775807"}, {"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 406, "action": {"type": "invoke", "field": "ge_u", "args": [{"type": "i64", "value": "9223372036854775807"}, {"type": "i64", "value": "9223372036854775808"}]}, "expected": [{"type": "i32", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/imports.json

@@ -1,5 +1,6 @@
 {"source_filename": "imports.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "imports.0.wasm"}, 
   {"type": "register", "line": 19, "as": "test"}, 
   {"type": "module", "line": 24, "filename": "imports.1.wasm"}, 
@@ -128,5 +129,4 @@
   {"type": "assert_return", "line": 470, "action": {"type": "invoke", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 471, "action": {"type": "invoke", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "2"}]}, 
   {"type": "assert_return", "line": 472, "action": {"type": "invoke", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
-  {"type": "assert_return", "line": 473, "action": {"type": "invoke", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "2"}]}
-]}
+  {"type": "assert_return", "line": 473, "action": {"type": "invoke", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "2"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/int_exprs.json

@@ -1,5 +1,6 @@
 {"source_filename": "int_exprs.wast",
  "commands": [
+
   {"type": "module", "line": 6, "filename": "int_exprs.0.wasm"}, 
   {"type": "assert_return", "line": 18, "action": {"type": "invoke", "field": "i32.no_fold_cmp_s_offset", "args": [{"type": "i32", "value": "2147483647"}, {"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 19, "action": {"type": "invoke", "field": "i32.no_fold_cmp_u_offset", "args": [{"type": "i32", "value": "4294967295"}, {"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
@@ -94,5 +95,4 @@
   {"type": "assert_return", "line": 296, "action": {"type": "invoke", "field": "i64.rem_s_7", "args": [{"type": "i64", "value": "71"}]}, "expected": [{"type": "i64", "value": "1"}]}, 
   {"type": "assert_return", "line": 297, "action": {"type": "invoke", "field": "i64.rem_s_7", "args": [{"type": "i64", "value": "8070450532247928832"}]}, "expected": [{"type": "i64", "value": "0"}]}, 
   {"type": "assert_return", "line": 298, "action": {"type": "invoke", "field": "i64.rem_u_7", "args": [{"type": "i64", "value": "71"}]}, "expected": [{"type": "i64", "value": "1"}]}, 
-  {"type": "assert_return", "line": 299, "action": {"type": "invoke", "field": "i64.rem_u_7", "args": [{"type": "i64", "value": "16140901064495857664"}]}, "expected": [{"type": "i64", "value": "0"}]}
-]}
+  {"type": "assert_return", "line": 299, "action": {"type": "invoke", "field": "i64.rem_u_7", "args": [{"type": "i64", "value": "16140901064495857664"}]}, "expected": [{"type": "i64", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/int_literals.json

@@ -1,5 +1,6 @@
 {"source_filename": "int_literals.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "int_literals.0.wasm"}, 
   {"type": "assert_return", "line": 27, "action": {"type": "invoke", "field": "i32.test", "args": []}, "expected": [{"type": "i32", "value": "195940365"}]}, 
   {"type": "assert_return", "line": 28, "action": {"type": "invoke", "field": "i32.umax", "args": []}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
@@ -22,5 +23,4 @@
   {"type": "assert_return", "line": 46, "action": {"type": "invoke", "field": "i64.neg_zero", "args": []}, "expected": [{"type": "i64", "value": "0"}]}, 
   {"type": "assert_return", "line": 47, "action": {"type": "invoke", "field": "i64.not_octal", "args": []}, "expected": [{"type": "i64", "value": "10"}]}, 
   {"type": "assert_return", "line": 48, "action": {"type": "invoke", "field": "i64.unsigned_decimal", "args": []}, "expected": [{"type": "i64", "value": "18446744073709551615"}]}, 
-  {"type": "assert_return", "line": 49, "action": {"type": "invoke", "field": "i64.plus_sign", "args": []}, "expected": [{"type": "i64", "value": "42"}]}
-]}
+  {"type": "assert_return", "line": 49, "action": {"type": "invoke", "field": "i64.plus_sign", "args": []}, "expected": [{"type": "i64", "value": "42"}]}]}

BIN=BIN
test/WasmSpec/testsuite-bin/labels.1.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/labels.2.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/labels.3.wasm


+ 2 - 2
test/WasmSpec/testsuite-bin/labels.json

@@ -1,5 +1,6 @@
 {"source_filename": "labels.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "labels.0.wasm"}, 
   {"type": "assert_return", "line": 272, "action": {"type": "invoke", "field": "block", "args": []}, "expected": [{"type": "i32", "value": "1"}]}, 
   {"type": "assert_return", "line": 273, "action": {"type": "invoke", "field": "loop1", "args": []}, "expected": [{"type": "i32", "value": "5"}]}, 
@@ -27,5 +28,4 @@
   {"type": "assert_return", "line": 295, "action": {"type": "invoke", "field": "redefinition", "args": []}, "expected": [{"type": "i32", "value": "5"}]}, 
   {"type": "assert_invalid", "line": 298, "filename": "labels.1.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 302, "filename": "labels.2.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 306, "filename": "labels.3.wasm", "text": "type mismatch"}
-]}
+  {"type": "assert_invalid", "line": 306, "filename": "labels.3.wasm", "text": "type mismatch"}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/left-to-right.json

@@ -1,5 +1,6 @@
 {"source_filename": "left-to-right.wast",
  "commands": [
+
   {"type": "module", "line": 1, "filename": "left-to-right.0.wasm"}, 
   {"type": "assert_return", "line": 181, "action": {"type": "invoke", "field": "i32_add", "args": []}, "expected": [{"type": "i32", "value": "258"}]}, 
   {"type": "assert_return", "line": 181, "action": {"type": "invoke", "field": "i64_add", "args": []}, "expected": [{"type": "i32", "value": "258"}]}, 
@@ -95,5 +96,4 @@
   {"type": "assert_return", "line": 230, "action": {"type": "invoke", "field": "f32_select", "args": []}, "expected": [{"type": "i32", "value": "66053"}]}, 
   {"type": "assert_return", "line": 230, "action": {"type": "invoke", "field": "f64_select", "args": []}, "expected": [{"type": "i32", "value": "66053"}]}, 
   {"type": "assert_return", "line": 232, "action": {"type": "invoke", "field": "br_if", "args": []}, "expected": [{"type": "i32", "value": "258"}]}, 
-  {"type": "assert_return", "line": 233, "action": {"type": "invoke", "field": "br_table", "args": []}, "expected": [{"type": "i32", "value": "258"}]}
-]}
+  {"type": "assert_return", "line": 233, "action": {"type": "invoke", "field": "br_table", "args": []}, "expected": [{"type": "i32", "value": "258"}]}]}

BIN=BIN
test/WasmSpec/testsuite-bin/linking.10.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.11.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.12.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.13.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.14.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.15.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.16.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.17.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.18.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.19.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.20.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.21.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.22.wasm


BIN=BIN
test/WasmSpec/testsuite-bin/linking.23.wasm


+ 37 - 33
test/WasmSpec/testsuite-bin/linking.json

@@ -1,5 +1,6 @@
 {"source_filename": "linking.wast",
  "commands": [
+
   {"type": "module", "line": 3, "name": "$Mf", "filename": "linking.0.wasm"}, 
   {"type": "register", "line": 7, "name": "$Mf", "as": "Mf"}, 
   {"type": "module", "line": 9, "name": "$Nf", "filename": "linking.1.wasm"}, 
@@ -62,36 +63,39 @@
   {"type": "assert_trap", "line": 154, "action": {"type": "invoke", "module": "$Nt", "field": "call Mt.call", "args": [{"type": "i32", "value": "0"}]}, "text": "uninitialized"}, 
   {"type": "assert_trap", "line": 155, "action": {"type": "invoke", "module": "$Ot", "field": "call", "args": [{"type": "i32", "value": "0"}]}, "text": "uninitialized"}, 
   {"type": "assert_trap", "line": 157, "action": {"type": "invoke", "module": "$Ot", "field": "call", "args": [{"type": "i32", "value": "20"}]}, "text": "undefined"}, 
-  {"type": "assert_unlinkable", "line": 160, "filename": "linking.10.wasm", "text": "unknown import"}, 
-  {"type": "assert_trap", "line": 169, "action": {"type": "invoke", "module": "$Mt", "field": "call", "args": [{"type": "i32", "value": "7"}]}, "text": "uninitialized"}, 
-  {"type": "assert_unlinkable", "line": 172, "filename": "linking.11.wasm", "text": "elements segment does not fit"}, 
-  {"type": "assert_trap", "line": 180, "action": {"type": "invoke", "module": "$Mt", "field": "call", "args": [{"type": "i32", "value": "7"}]}, "text": "uninitialized"}, 
-  {"type": "assert_unlinkable", "line": 183, "filename": "linking.12.wasm", "text": "data segment does not fit"}, 
-  {"type": "assert_trap", "line": 192, "action": {"type": "invoke", "module": "$Mt", "field": "call", "args": [{"type": "i32", "value": "7"}]}, "text": "uninitialized"}, 
-  {"type": "module", "line": 197, "name": "$Mm", "filename": "linking.13.wasm"}, 
-  {"type": "register", "line": 205, "name": "$Mm", "as": "Mm"}, 
-  {"type": "module", "line": 207, "name": "$Nm", "filename": "linking.14.wasm"}, 
-  {"type": "assert_return", "line": 219, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "2"}]}, 
-  {"type": "assert_return", "line": 220, "action": {"type": "invoke", "module": "$Nm", "field": "Mm.load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "2"}]}, 
-  {"type": "assert_return", "line": 221, "action": {"type": "invoke", "module": "$Nm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "242"}]}, 
-  {"type": "module", "line": 223, "name": "$Om", "filename": "linking.15.wasm"}, 
-  {"type": "assert_return", "line": 232, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "167"}]}, 
-  {"type": "assert_return", "line": 233, "action": {"type": "invoke", "module": "$Nm", "field": "Mm.load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "167"}]}, 
-  {"type": "assert_return", "line": 234, "action": {"type": "invoke", "module": "$Nm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "242"}]}, 
-  {"type": "assert_return", "line": 235, "action": {"type": "invoke", "module": "$Om", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "167"}]}, 
-  {"type": "module", "line": 237, "name": "$Pm", "filename": "linking.16.wasm"}, 
-  {"type": "assert_return", "line": 245, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 246, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "2"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
-  {"type": "assert_return", "line": 247, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "3"}]}, 
-  {"type": "assert_return", "line": 248, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "3"}]}, 
-  {"type": "assert_return", "line": 249, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "4"}]}, 
-  {"type": "assert_return", "line": 250, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "5"}]}, 
-  {"type": "assert_return", "line": 251, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
-  {"type": "assert_return", "line": 252, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "5"}]}, 
-  {"type": "assert_unlinkable", "line": 255, "filename": "linking.17.wasm", "text": "unknown import"}, 
-  {"type": "assert_return", "line": 263, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
-  {"type": "assert_unlinkable", "line": 266, "filename": "linking.18.wasm", "text": "data segment does not fit"}, 
-  {"type": "assert_return", "line": 273, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
-  {"type": "assert_unlinkable", "line": 276, "filename": "linking.19.wasm", "text": "elements segment does not fit"}, 
-  {"type": "assert_return", "line": 285, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}
-]}
+  {"type": "module", "line": 159, "filename": "linking.10.wasm"}, 
+  {"type": "assert_unlinkable", "line": 166, "filename": "linking.11.wasm", "text": "elements segment does not fit"}, 
+  {"type": "assert_unlinkable", "line": 175, "filename": "linking.12.wasm", "text": "unknown import"}, 
+  {"type": "assert_trap", "line": 184, "action": {"type": "invoke", "module": "$Mt", "field": "call", "args": [{"type": "i32", "value": "7"}]}, "text": "uninitialized"}, 
+  {"type": "assert_unlinkable", "line": 187, "filename": "linking.13.wasm", "text": "elements segment does not fit"}, 
+  {"type": "assert_trap", "line": 195, "action": {"type": "invoke", "module": "$Mt", "field": "call", "args": [{"type": "i32", "value": "7"}]}, "text": "uninitialized"}, 
+  {"type": "assert_unlinkable", "line": 198, "filename": "linking.14.wasm", "text": "data segment does not fit"}, 
+  {"type": "assert_trap", "line": 207, "action": {"type": "invoke", "module": "$Mt", "field": "call", "args": [{"type": "i32", "value": "7"}]}, "text": "uninitialized"}, 
+  {"type": "module", "line": 212, "name": "$Mm", "filename": "linking.15.wasm"}, 
+  {"type": "register", "line": 220, "name": "$Mm", "as": "Mm"}, 
+  {"type": "module", "line": 222, "name": "$Nm", "filename": "linking.16.wasm"}, 
+  {"type": "assert_return", "line": 234, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "2"}]}, 
+  {"type": "assert_return", "line": 235, "action": {"type": "invoke", "module": "$Nm", "field": "Mm.load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "2"}]}, 
+  {"type": "assert_return", "line": 236, "action": {"type": "invoke", "module": "$Nm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "242"}]}, 
+  {"type": "module", "line": 238, "name": "$Om", "filename": "linking.17.wasm"}, 
+  {"type": "assert_return", "line": 247, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "167"}]}, 
+  {"type": "assert_return", "line": 248, "action": {"type": "invoke", "module": "$Nm", "field": "Mm.load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "167"}]}, 
+  {"type": "assert_return", "line": 249, "action": {"type": "invoke", "module": "$Nm", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "242"}]}, 
+  {"type": "assert_return", "line": 250, "action": {"type": "invoke", "module": "$Om", "field": "load", "args": [{"type": "i32", "value": "12"}]}, "expected": [{"type": "i32", "value": "167"}]}, 
+  {"type": "module", "line": 252, "filename": "linking.18.wasm"}, 
+  {"type": "assert_unlinkable", "line": 258, "filename": "linking.19.wasm", "text": "data segment does not fit"}, 
+  {"type": "module", "line": 265, "name": "$Pm", "filename": "linking.20.wasm"}, 
+  {"type": "assert_return", "line": 273, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
+  {"type": "assert_return", "line": 274, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "2"}]}, "expected": [{"type": "i32", "value": "1"}]}, 
+  {"type": "assert_return", "line": 275, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "3"}]}, 
+  {"type": "assert_return", "line": 276, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "3"}]}, 
+  {"type": "assert_return", "line": 277, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "4"}]}, 
+  {"type": "assert_return", "line": 278, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "5"}]}, 
+  {"type": "assert_return", "line": 279, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "1"}]}, "expected": [{"type": "i32", "value": "4294967295"}]}, 
+  {"type": "assert_return", "line": 280, "action": {"type": "invoke", "module": "$Pm", "field": "grow", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "5"}]}, 
+  {"type": "assert_unlinkable", "line": 283, "filename": "linking.21.wasm", "text": "unknown import"}, 
+  {"type": "assert_return", "line": 291, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
+  {"type": "assert_unlinkable", "line": 294, "filename": "linking.22.wasm", "text": "data segment does not fit"}, 
+  {"type": "assert_return", "line": 301, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}, 
+  {"type": "assert_unlinkable", "line": 304, "filename": "linking.23.wasm", "text": "elements segment does not fit"}, 
+  {"type": "assert_return", "line": 313, "action": {"type": "invoke", "module": "$Mm", "field": "load", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]}]}

+ 2 - 2
test/WasmSpec/testsuite-bin/loop.json

@@ -1,5 +1,6 @@
 {"source_filename": "loop.wast",
  "commands": [
+
   {"type": "module", "line": 3, "filename": "loop.0.wasm"}, 
   {"type": "assert_return", "line": 176, "action": {"type": "invoke", "field": "empty", "args": []}, "expected": []}, 
   {"type": "assert_return", "line": 177, "action": {"type": "invoke", "field": "singular", "args": []}, "expected": [{"type": "i32", "value": "7"}]}, 
@@ -48,5 +49,4 @@
   {"type": "assert_invalid", "line": 234, "filename": "loop.3.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 238, "filename": "loop.4.wasm", "text": "type mismatch"}, 
   {"type": "assert_invalid", "line": 243, "filename": "loop.5.wasm", "text": "type mismatch"}, 
-  {"type": "assert_invalid", "line": 249, "filename": "loop.6.wasm", "text": "type mismatch"}
-]}
+  {"type": "assert_invalid", "line": 249, "filename": "loop.6.wasm", "text": "type mismatch"}]}

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio