comparison src/share/vm/gc_implementation/g1/g1_globals.hpp @ 890:6cb8e9df7174

6819077: G1: first GC thread coming late into the GC. Summary: The first worker thread is delayed when entering the GC because it clears the card count table that is used in identifying hot cards. Replace the card count table with a dynamically sized evicting hash table that includes an epoch based counter. Reviewed-by: iveresov, tonyp
author johnc
date Tue, 04 Aug 2009 16:00:17 -0700
parents 83b687ce3090
children e1fdf4fd34dc
comparison
equal deleted inserted replaced
889:15c5903cf9e1 890:6cb8e9df7174
185 "threads start processing new ones instead of enqueueing them") \ 185 "threads start processing new ones instead of enqueueing them") \
186 \ 186 \
187 develop(intx, G1ConcRSLogCacheSize, 10, \ 187 develop(intx, G1ConcRSLogCacheSize, 10, \
188 "Log base 2 of the length of conc RS hot-card cache.") \ 188 "Log base 2 of the length of conc RS hot-card cache.") \
189 \ 189 \
190 develop(bool, G1ConcRSCountTraversals, false, \
191 "If true, gather data about the number of times CR traverses " \
192 "cards ") \
193 \
194 develop(intx, G1ConcRSHotCardLimit, 4, \ 190 develop(intx, G1ConcRSHotCardLimit, 4, \
195 "The threshold that defines (>=) a hot card.") \ 191 "The threshold that defines (>=) a hot card.") \
196 \ 192 \
197 develop(bool, G1PrintOopAppls, false, \ 193 develop(bool, G1PrintOopAppls, false, \
198 "When true, print applications of closures to external locs.") \ 194 "When true, print applications of closures to external locs.") \
262 "Enables the parallelization of remembered set scanning " \ 258 "Enables the parallelization of remembered set scanning " \
263 "during evacuation pauses") \ 259 "during evacuation pauses") \
264 \ 260 \
265 product(uintx, G1ParallelRSetThreads, 0, \ 261 product(uintx, G1ParallelRSetThreads, 0, \
266 "If non-0 is the number of parallel rem set update threads, " \ 262 "If non-0 is the number of parallel rem set update threads, " \
267 "otherwise the value is determined ergonomically.") 263 "otherwise the value is determined ergonomically.") \
264 \
265 develop(intx, G1CardCountCacheExpandThreshold, 16, \
266 "Expand the card count cache if the number of collisions for " \
267 "a particular entry exceeds this value.")
268 268
269 G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG) 269 G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG)