blob: bc9faf49b54a72634ada151862f280890e8d17e1 [file] [log] [blame]
if (!("startgc" in this &&
"offThreadCompileScript" in this &&
"runOffThreadScript" in this))
{
quit();
}
if (helperThreadCount() == 0)
quit();
gczeal(0);
gc();
// Start an incremental GC that includes the atoms zone
startgc(0);
var g = newGlobal();
// Start an off thread compilation that will not run until GC has finished
if ("gcstate" in this)
assertEq(gcstate(), "mark");
g.offThreadCompileScript('23;', {});
// Wait for the compilation to finish, which must finish the GC first
assertEq(23, g.runOffThreadScript());
if ("gcstate" in this)
assertEq(gcstate(), "none");
print("done");