< prev index next >

src/hotspot/share/oops/oop.hpp

8211446: Replace oop_pc_follow_contents with oop_iterate and closure

270   // Like "forward_to", but inserts the forwarding pointer atomically.                                                     
271   // Exactly one thread succeeds in inserting the forwarding pointer, and                                                  
272   // this call returns "NULL" for that thread; any other thread has the                                                    
273   // value of the forwarding pointer returned and does not modify "this".                                                  
274   inline oop forward_to_atomic(oop p, atomic_memory_order order = memory_order_conservative);                              
275 
276   inline oop forwardee() const;                                                                                            
277   inline oop forwardee_acquire() const;                                                                                    
278 
279   // Age of object during scavenge                                                                                         
280   inline uint age() const;                                                                                                 
281   inline void incr_age();                                                                                                  
282 
283   // mark-sweep support                                                                                                    
284   void follow_body(int begin, int end);                                                                                    
285 
286   // Garbage Collection support                                                                                            
287 
288 #if INCLUDE_PARALLELGC                                                                                                     
289   // Parallel Compact                                                                                                      
290   inline void pc_follow_contents(ParCompactionManager* cm);                                                                
291   inline void pc_update_contents(ParCompactionManager* cm);                                                                
292 #endif                                                                                                                     
293 
294   template <typename OopClosureType>                                                                                       
295   inline void oop_iterate(OopClosureType* cl);                                                                             
296 
297   template <typename OopClosureType>                                                                                       
298   inline void oop_iterate(OopClosureType* cl, MemRegion mr);                                                               
299 
300   template <typename OopClosureType>                                                                                       
301   inline int oop_iterate_size(OopClosureType* cl);                                                                         
302 
303   template <typename OopClosureType>                                                                                       
304   inline int oop_iterate_size(OopClosureType* cl, MemRegion mr);                                                           
305 
306   template <typename OopClosureType>                                                                                       
307   inline void oop_iterate_backwards(OopClosureType* cl);                                                                   
308 
309   inline static bool is_instanceof_or_null(oop obj, Klass* klass);                                                         

270   // Like "forward_to", but inserts the forwarding pointer atomically.
271   // Exactly one thread succeeds in inserting the forwarding pointer, and
272   // this call returns "NULL" for that thread; any other thread has the
273   // value of the forwarding pointer returned and does not modify "this".
274   inline oop forward_to_atomic(oop p, atomic_memory_order order = memory_order_conservative);
275 
276   inline oop forwardee() const;
277   inline oop forwardee_acquire() const;
278 
279   // Age of object during scavenge
280   inline uint age() const;
281   inline void incr_age();
282 
283   // mark-sweep support
284   void follow_body(int begin, int end);
285 
286   // Garbage Collection support
287 
288 #if INCLUDE_PARALLELGC
289   // Parallel Compact

290   inline void pc_update_contents(ParCompactionManager* cm);
291 #endif
292 
293   template <typename OopClosureType>
294   inline void oop_iterate(OopClosureType* cl);
295 
296   template <typename OopClosureType>
297   inline void oop_iterate(OopClosureType* cl, MemRegion mr);
298 
299   template <typename OopClosureType>
300   inline int oop_iterate_size(OopClosureType* cl);
301 
302   template <typename OopClosureType>
303   inline int oop_iterate_size(OopClosureType* cl, MemRegion mr);
304 
305   template <typename OopClosureType>
306   inline void oop_iterate_backwards(OopClosureType* cl);
307 
308   inline static bool is_instanceof_or_null(oop obj, Klass* klass);
< prev index next >