summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/gc/bug-1374797.js
blob: 13ec7f061d0c64189391f07a8088a0d8797b0fe9 (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: 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.
offThreadCompileScript("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.
runOffThreadScript();