summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/tail-calls/bug1871605.js
blob: 3403cea102e6fcd5b98a5c0902ea825107db1d40 (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
29
30
// |jit-test| --more-compartments; skip-variant-if: --setpref=wasm_test_serialization=true, true; skip-variant-if: --wasm-compiler=ion, true; skip-if: !wasmGcEnabled()

var dbg = newGlobal()
dbg.parent = this
dbg.eval(`
      Debugger(parent).onEnterFrame = function() {}
`)

var wasm = `(module
    (type $t1 (array (mut i32))) 
    (type $t2 (array (mut (ref null $t1))))
    (import "" "c" 
      (func $c
        (param i32 (ref $t2)) 
        (result (ref $t2))))
    (func $f (result (ref $t2))
      (return_call $c
        (i32.const 0)
        (array.new $t2 (ref.null $t1) (i32.const 1500)))
    )
   (func (export "test")
     (drop (call $f))
   )
)`;

var ins = wasmEvalText(wasm, {"": { c() {},}});
assertErrorMessage(
  () => ins.exports.test(),
  TypeError, /bad type/
);