diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/regress/bug1839065.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/regress/bug1839065.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/regress/bug1839065.js b/js/src/jit-test/tests/wasm/regress/bug1839065.js new file mode 100644 index 0000000000..ecc4c1b90c --- /dev/null +++ b/js/src/jit-test/tests/wasm/regress/bug1839065.js @@ -0,0 +1,28 @@ +// |jit-test| --wasm-gc; --wasm-function-references; skip-if: !wasmGcEnabled() || !wasmFunctionReferencesEnabled() +function wasmEvalText(str, imports) { + let binary = wasmTextToBinary(str); + m = new WebAssembly.Module(binary); + return new WebAssembly.Instance(m, imports); +} +let { newElem, f1, f2, f3, f4 } = wasmEvalText(` + (type $a (array funcref)) + (elem $e func $f1 $f2 $f3 $f4) + (func $f1 ) + (func $f2 ) + (func $f3 ) + (func $f4 ) + (func (export "newElem") (result eqref) + i32.const 0 + i32.const 4 + array.new_elem $a $e + )`).exports; + +let s = "no exception"; +try { + wasmGcReadField(newElem(), -1.5); +} catch (e) { + s = "" + e; +} + +assertEq(s, "Error: Second argument must be a non-negative integer. " + + "Usage: wasmGcReadField(obj, index)"); |