157 \ 158 product(bool, UseG1GC, false, \ 159 "Use the Garbage-First garbage collector") \ 160 \ 161 product(bool, UseParallelGC, false, \ 162 "Use the Parallel garbage collector.") \ 163 \ 164 experimental(bool, UseEpsilonGC, false, \ 165 "Use the Epsilon (no-op) garbage collector") \ 166 \ 167 product(bool, UseZGC, false, \ 168 "Use the Z garbage collector") \ 169 \ 170 product(bool, UseShenandoahGC, false, \ 171 "Use the Shenandoah garbage collector") \ 172 \ 173 product(uint, ParallelGCThreads, 0, \ 174 "Number of parallel threads parallel gc will use") \ 175 constraint(ParallelGCThreadsConstraintFunc,AfterErgo) \ 176 \ 177 diagnostic(bool, UseSemaphoreGCThreadsSynchronization, true, \ 178 "Use semaphore synchronization for the GC Threads, " \ 179 "instead of synchronization based on mutexes") \ 180 \ 181 product(bool, UseDynamicNumberOfGCThreads, true, \ 182 "Dynamically choose the number of threads up to a maximum of " \ 183 "ParallelGCThreads parallel collectors will use for garbage " \ 184 "collection work") \ 185 \ 186 diagnostic(bool, InjectGCWorkerCreationFailure, false, \ 187 "Inject thread creation failures for " \ 188 "UseDynamicNumberOfGCThreads") \ 189 \ 190 product(size_t, HeapSizePerGCThread, ScaleForWordSize(32*M), \ 191 "Size of heap (bytes) per GC thread used in calculating the " \ 192 "number of GC threads") \ 193 range((size_t)os::vm_page_size(), (size_t)max_uintx) \ 194 \ 195 product(uint, ConcGCThreads, 0, \ 196 "Number of threads concurrent gc will use") \ 197 constraint(ConcGCThreadsConstraintFunc,AfterErgo) \ 198 \ 199 product(bool, AlwaysTenure, false, \ 200 "Always tenure objects in eden (ParallelGC only)") \ | 157 \ 158 product(bool, UseG1GC, false, \ 159 "Use the Garbage-First garbage collector") \ 160 \ 161 product(bool, UseParallelGC, false, \ 162 "Use the Parallel garbage collector.") \ 163 \ 164 experimental(bool, UseEpsilonGC, false, \ 165 "Use the Epsilon (no-op) garbage collector") \ 166 \ 167 product(bool, UseZGC, false, \ 168 "Use the Z garbage collector") \ 169 \ 170 product(bool, UseShenandoahGC, false, \ 171 "Use the Shenandoah garbage collector") \ 172 \ 173 product(uint, ParallelGCThreads, 0, \ 174 "Number of parallel threads parallel gc will use") \ 175 constraint(ParallelGCThreadsConstraintFunc,AfterErgo) \ 176 \ 177 product(bool, UseDynamicNumberOfGCThreads, true, \ 178 "Dynamically choose the number of threads up to a maximum of " \ 179 "ParallelGCThreads parallel collectors will use for garbage " \ 180 "collection work") \ 181 \ 182 diagnostic(bool, InjectGCWorkerCreationFailure, false, \ 183 "Inject thread creation failures for " \ 184 "UseDynamicNumberOfGCThreads") \ 185 \ 186 product(size_t, HeapSizePerGCThread, ScaleForWordSize(32*M), \ 187 "Size of heap (bytes) per GC thread used in calculating the " \ 188 "number of GC threads") \ 189 range((size_t)os::vm_page_size(), (size_t)max_uintx) \ 190 \ 191 product(uint, ConcGCThreads, 0, \ 192 "Number of threads concurrent gc will use") \ 193 constraint(ConcGCThreadsConstraintFunc,AfterErgo) \ 194 \ 195 product(bool, AlwaysTenure, false, \ 196 "Always tenure objects in eden (ParallelGC only)") \ |