< prev index next >

src/hotspot/share/gc/z/zMark.hpp

concurrent root iterator v2

concurrent root iterator

90 
91   void work_without_timeout(ZMarkCache* cache,                                                                                       
92                             ZMarkStripe* stripe,                                                                                     
93                             ZMarkThreadLocalStacks* stacks);                                                                         
94   void work_with_timeout(ZMarkCache* cache,                                                                                          
95                          ZMarkStripe* stripe,                                                                                        
96                          ZMarkThreadLocalStacks* stacks,                                                                             
97                          uint64_t timeout_in_millis);                                                                                
98   void work(uint64_t timeout_in_millis);                                                                                             
99 
100   void verify_all_stacks_empty() const;                                                                                              
101 
102 public:                                                                                                                              
103   ZMark(ZWorkers* workers, ZPageTable* pagetable);                                                                                   
104 
105   bool is_initialized() const;                                                                                                       
106 
107   template <bool finalizable, bool publish> void mark_object(uintptr_t addr);                                                        
108 
109   void start();                                                                                                                      
110   void mark();                                                                                                                       
111   bool end();                                                                                                                        
112 
113   void flush_and_free();                                                                                                             
114   bool flush_and_free(Thread* thread);                                                                                               
115 };                                                                                                                                   
116 
117 #endif // SHARE_GC_Z_ZMARK_HPP                                                                                                       

90 
91   void work_without_timeout(ZMarkCache* cache,
92                             ZMarkStripe* stripe,
93                             ZMarkThreadLocalStacks* stacks);
94   void work_with_timeout(ZMarkCache* cache,
95                          ZMarkStripe* stripe,
96                          ZMarkThreadLocalStacks* stacks,
97                          uint64_t timeout_in_millis);
98   void work(uint64_t timeout_in_millis);
99 
100   void verify_all_stacks_empty() const;
101 
102 public:
103   ZMark(ZWorkers* workers, ZPageTable* pagetable);
104 
105   bool is_initialized() const;
106 
107   template <bool finalizable, bool publish> void mark_object(uintptr_t addr);
108 
109   void start();
110   void mark(bool initial);
111   bool end();
112 
113   void flush_and_free();
114   bool flush_and_free(Thread* thread);
115 };
116 
117 #endif // SHARE_GC_Z_ZMARK_HPP
< prev index next >