blob: f22b06e2785ee6c9944b854aeb0852cf7f30aa3c (
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
|
// |jit-test| skip-if: helperThreadCount() === 0
// Exercise triggering GC of atoms zone while off-thread parsing is happening.
gczeal(0);
// Reduce some GC parameters so that we can trigger a GC more easily.
gcparam('lowFrequencyHeapGrowth', 120);
gcparam('highFrequencyLargeHeapGrowth', 120);
gcparam('highFrequencySmallHeapGrowth', 120);
gcparam('allocationThreshold', 1);
gc();
// Start an off-thread parse.
offThreadCompileToStencil("print('Finished')");
// Allocate lots of atoms, parsing occasionally.
for (let i = 0; i < 10; i++) {
print(i);
for (let j = 0; j < 10000; j++)
Symbol.for(i + 10 * j);
eval(`${i}`);
}
// Finish the off-thread parse.
var stencil = finishOffThreadStencil();
evalStencil(stencil);
|