blob: e3d84589b6bda49fe67fc1d6499d17144c2f01f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// |jit-test| --setpref=wasm_gc=true; skip-if: !wasmGcEnabled() || !wasmGcEnabled()
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)");
|