blob: 319755c60929d6281a2943bc8dbb23f4333b1b3e (
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
|
// Ensures that the postorder allows us to have very deep expression trees.
var expr = '(local.get 0)';
for (var i = 1000; i --> 0; ) {
expr = `(f32.neg ${expr})`;
}
var code = `(module
(func
(param f32)
(result f32)
${expr}
)
(export "run" (func 0))
)`;
try {
wasmFullPass(code, Math.fround(13.37), {}, 13.37);
} catch (e) {
// Some configurations, like e.g. ASAN, will fail these tests because its
// stack frames are much bigger than usual ones and the parser will bail
// out during its recursive descent.
// Ignore those errors specifically.
assertEq(e.message.includes('out of memory'), true);
}
|