blob: 1af0bc30dd8cafe9377a1ec42161c6cf787e9958 (
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
|
// |jit-test| skip-if: !('oomTest' in this) || helperThreadCount() === 0
let THREAD_TYPE_PARSE = 4;
// Test main thread encode/decode OOM
oomTest(function() {
let t = cacheEntry(`function f() { function g() { }; return 3; };`);
evaluate(t, { sourceIsLazy: true, saveIncrementalBytecode: true });
evaluate(t, { sourceIsLazy: true, readBytecode: true });
});
// Test helper thread decode OOM
let t = cacheEntry(`function f() { function g() { }; return 3; };`);
evaluate(t, { sourceIsLazy: true, saveIncrementalBytecode: true });
for (var i = 1; i < 100; ++i) {
try {
oomAtAllocation(i, THREAD_TYPE_PARSE);
offThreadDecodeStencil(t, { sourceIsLazy: true });
var stencil = finishOffThreadStencil();
evalStencil(stencil);
}
catch (e) {
assertEq(e, "out of memory");
}
}
|