summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/regress/too-large-frame.js
blob: 357cb0149b48c30e28a5176d6ca1a98170475d4e (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
load(libdir + "wasm.js");

// Bug 1280934, equivalent test case.

try {

wasmEvalText(
`(module
  (func $func0 (result i32) ${locals()}
   (i32.const 0))
  (export "" 0))`);

} catch (e) {
    // The wasm baseline compiler throws OOM on too-large frames, so
    // handle that.
    if (!String(e).match(/out of memory/))
	throw e;
}

// The wasm baseline compiler cuts off frames at 256KB at the moment;
// the test case for bug 1280934 constructed a frame around 512KB so
// duplicate that here.

function locals() {
    var s = "";
    for ( var i=0 ; i < 64000 ; i++ )
	s += "(local f64)\n";
    return s;
}