mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 14:52:16 +00:00
Bug 1727364 - Add testcase. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D123995
This commit is contained in:
parent
e0cff7e590
commit
41f6312834
25
js/src/jit-test/tests/self-hosting/oom-toplevel.js
Normal file
25
js/src/jit-test/tests/self-hosting/oom-toplevel.js
Normal file
@ -0,0 +1,25 @@
|
||||
// |jit-test| skip-if: !('oomAtAllocation' in this)
|
||||
|
||||
function code(n) {
|
||||
return `
|
||||
// Trigger top-level execution with an OOM in the middle.
|
||||
oomAtAllocation(${n});
|
||||
try { getSelfHostedValue("numberFormatCache") } catch (e) { }
|
||||
resetOOMFailure();
|
||||
|
||||
// Read current value of "dateTimeFormatCache".
|
||||
var initVal = getSelfHostedValue("dateTimeFormatCache");
|
||||
assertEq(typeof initVal, "object");
|
||||
|
||||
// Retrigger top-level execution by reading a later value in the file.
|
||||
// Then compare that "dateTimeFormatCache" was not clobbered.
|
||||
getSelfHostedValue("collatorCache");
|
||||
assertEq(initVal, getSelfHostedValue("dateTimeFormatCache"));
|
||||
`;
|
||||
}
|
||||
|
||||
// We cannot use `oomTest` here because of divergence issues from things like
|
||||
// `RegisterShapeCache` absorbing OOMs.
|
||||
for (var i = 1; i < 300; ++i) {
|
||||
evaluate(code(i), { global: newGlobal() });
|
||||
}
|
Loading…
Reference in New Issue
Block a user