< prev index next >

src/hotspot/share/gc/z/zRootsIterator.cpp

CLD claiming

235 }                                                                                                                                    
236 
237 ZConcurrentRootsIterator::ZConcurrentRootsIterator()                                                                                 
238   : _jni_handles_iter(JNIHandles::global_handles()),                                                                                 
239     _jni_handles(this),                                                                                                              
240     _class_loader_data_graph(this) {                                                                                                 
241   ZStatTimer timer(ZSubPhaseConcurrentRootsSetup);                                                                                   
242 }                                                                                                                                    
243 
244 ZConcurrentRootsIterator::~ZConcurrentRootsIterator() {                                                                              
245   ZStatTimer timer(ZSubPhaseConcurrentRootsTeardown);                                                                                
246 }                                                                                                                                    
247 
248 void ZConcurrentRootsIterator::do_jni_handles(OopClosure* cl) {                                                                      
249   ZStatTimer timer(ZSubPhaseConcurrentRootsJNIHandles);                                                                              
250   _jni_handles_iter.oops_do(cl);                                                                                                     
251 }                                                                                                                                    
252 
253 void ZConcurrentRootsIterator::do_class_loader_data_graph(OopClosure* cl) {                                                          
254   ZStatTimer timer(ZSubPhaseConcurrentRootsClassLoaderDataGraph);                                                                    
255   CLDToOopClosure cld_cl(cl);                                                                                                        
256   ClassLoaderDataGraph::cld_do(&cld_cl);                                                                                             
257 }                                                                                                                                    
258 
259 void ZConcurrentRootsIterator::oops_do(OopClosure* cl) {                                                                             
260   ZStatTimer timer(ZSubPhaseConcurrentRoots);                                                                                        
261   _jni_handles.oops_do(cl);                                                                                                          
262   _class_loader_data_graph.oops_do(cl);                                                                                              
263 }                                                                                                                                    
264 
265 ZWeakRootsIterator::ZWeakRootsIterator() :                                                                                           
266     _jvmti_weak_export(this),                                                                                                        
267     _jfr_weak(this) {                                                                                                                
268   assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint");                                                         
269   ZStatTimer timer(ZSubPhasePauseWeakRootsSetup);                                                                                    
270   StringTable::reset_dead_counter();                                                                                                 
271 }                                                                                                                                    
272 
273 ZWeakRootsIterator::~ZWeakRootsIterator() {                                                                                          
274   ZStatTimer timer(ZSubPhasePauseWeakRootsTeardown);                                                                                 

235 }
236 
237 ZConcurrentRootsIterator::ZConcurrentRootsIterator()
238   : _jni_handles_iter(JNIHandles::global_handles()),
239     _jni_handles(this),
240     _class_loader_data_graph(this) {
241   ZStatTimer timer(ZSubPhaseConcurrentRootsSetup);
242 }
243 
244 ZConcurrentRootsIterator::~ZConcurrentRootsIterator() {
245   ZStatTimer timer(ZSubPhaseConcurrentRootsTeardown);
246 }
247 
248 void ZConcurrentRootsIterator::do_jni_handles(OopClosure* cl) {
249   ZStatTimer timer(ZSubPhaseConcurrentRootsJNIHandles);
250   _jni_handles_iter.oops_do(cl);
251 }
252 
253 void ZConcurrentRootsIterator::do_class_loader_data_graph(OopClosure* cl) {
254   ZStatTimer timer(ZSubPhaseConcurrentRootsClassLoaderDataGraph);
255   CLDToOopClosure cld_cl(cl, ClassLoaderData::_claim_value_strong);
256   ClassLoaderDataGraph::cld_do(&cld_cl);
257 }
258 
259 void ZConcurrentRootsIterator::oops_do(OopClosure* cl) {
260   ZStatTimer timer(ZSubPhaseConcurrentRoots);
261   _jni_handles.oops_do(cl);
262   _class_loader_data_graph.oops_do(cl);
263 }
264 
265 ZWeakRootsIterator::ZWeakRootsIterator() :
266     _jvmti_weak_export(this),
267     _jfr_weak(this) {
268   assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint");
269   ZStatTimer timer(ZSubPhasePauseWeakRootsSetup);
270   StringTable::reset_dead_counter();
271 }
272 
273 ZWeakRootsIterator::~ZWeakRootsIterator() {
274   ZStatTimer timer(ZSubPhasePauseWeakRootsTeardown);
< prev index next >