3 function testGetParam(key) {
7 function testChangeParam(key, diff) {
12 let prev = gcparam(key);
14 let newValue = prev > 0 ? prev - diff : prev + diff;
15 gcparam(key, newValue);
16 assertEq(gcparam(key), newValue);
19 assertEq(gcparam(key), prev);
22 testGetParam("gcBytes");
23 testGetParam("gcNumber");
24 testGetParam("unusedChunks");
25 testGetParam("totalChunks");
26 testGetParam("nurseryBytes");
27 testGetParam("majorGCNumber");
28 testGetParam("minorGCNumber");
29 testGetParam("chunkBytes");
30 testGetParam("helperThreadCount");
32 testChangeParam("maxBytes");
33 testChangeParam("minNurseryBytes", 16 * 1024);
34 testChangeParam("maxNurseryBytes", 1024 * 1024);
35 testChangeParam("incrementalGCEnabled");
36 testChangeParam("perZoneGCEnabled");
37 testChangeParam("sliceTimeBudgetMS");
38 testChangeParam("highFrequencyTimeLimit");
39 testChangeParam("smallHeapSizeMax");
40 testChangeParam("largeHeapSizeMin");
41 testChangeParam("highFrequencySmallHeapGrowth");
42 testChangeParam("highFrequencyLargeHeapGrowth");
43 testChangeParam("lowFrequencyHeapGrowth");
44 testChangeParam("balancedHeapLimitsEnabled");
45 testChangeParam("heapGrowthFactor");
46 testChangeParam("allocationThreshold");
47 testChangeParam("smallHeapIncrementalLimit");
48 testChangeParam("largeHeapIncrementalLimit");
49 testChangeParam("minEmptyChunkCount");
50 testChangeParam("maxEmptyChunkCount");
51 testChangeParam("compactingEnabled");
52 testChangeParam("parallelMarkingEnabled");
53 testChangeParam("parallelMarkingThresholdMB");
54 testChangeParam("minLastDitchGCPeriod");
55 testChangeParam("nurseryEagerCollectionThresholdKB");
56 testChangeParam("nurseryEagerCollectionThresholdPercent");
57 testChangeParam("nurseryEagerCollectionTimeoutMS");
58 testChangeParam("zoneAllocDelayKB");
59 testChangeParam("mallocThresholdBase");
60 testChangeParam("urgentThreshold");
61 testChangeParam("helperThreadRatio");
62 testChangeParam("maxHelperThreads");
63 testChangeParam("semispaceNurseryEnabled");