< prev index next >

src/hotspot/share/oops/oop.hpp

Print this page
rev 52211 : imported patch 8212753-improve-forward-to-atomic


 256   static bool is_oop(oop obj, bool ignore_mark_word = false);
 257   static bool is_oop_or_null(oop obj, bool ignore_mark_word = false);
 258 #ifndef PRODUCT
 259   inline bool is_unlocked_oop() const;
 260   static bool is_archived_object(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
 261 #endif
 262 
 263   // garbage collection
 264   inline bool is_gc_marked() const;
 265 
 266   // Forward pointer operations for scavenge
 267   inline bool is_forwarded() const;
 268 
 269   inline void forward_to(oop p);
 270   inline bool cas_forward_to(oop p, markOop compare, atomic_memory_order order = memory_order_conservative);
 271 
 272   // Like "forward_to", but inserts the forwarding pointer atomically.
 273   // Exactly one thread succeeds in inserting the forwarding pointer, and
 274   // this call returns "NULL" for that thread; any other thread has the
 275   // value of the forwarding pointer returned and does not modify "this".
 276   inline oop forward_to_atomic(oop p, atomic_memory_order order = memory_order_conservative);
 277 
 278   inline oop forwardee() const;
 279   inline oop forwardee_acquire() const;
 280 
 281   // Age of object during scavenge
 282   inline uint age() const;
 283   inline void incr_age();
 284 
 285   // mark-sweep support
 286   void follow_body(int begin, int end);
 287 
 288   template <typename OopClosureType>
 289   inline void oop_iterate(OopClosureType* cl);
 290 
 291   template <typename OopClosureType>
 292   inline void oop_iterate(OopClosureType* cl, MemRegion mr);
 293 
 294   template <typename OopClosureType>
 295   inline int oop_iterate_size(OopClosureType* cl);
 296 




 256   static bool is_oop(oop obj, bool ignore_mark_word = false);
 257   static bool is_oop_or_null(oop obj, bool ignore_mark_word = false);
 258 #ifndef PRODUCT
 259   inline bool is_unlocked_oop() const;
 260   static bool is_archived_object(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
 261 #endif
 262 
 263   // garbage collection
 264   inline bool is_gc_marked() const;
 265 
 266   // Forward pointer operations for scavenge
 267   inline bool is_forwarded() const;
 268 
 269   inline void forward_to(oop p);
 270   inline bool cas_forward_to(oop p, markOop compare, atomic_memory_order order = memory_order_conservative);
 271 
 272   // Like "forward_to", but inserts the forwarding pointer atomically.
 273   // Exactly one thread succeeds in inserting the forwarding pointer, and
 274   // this call returns "NULL" for that thread; any other thread has the
 275   // value of the forwarding pointer returned and does not modify "this".
 276   inline oop forward_to_atomic(oop p, markOop compare, atomic_memory_order order = memory_order_conservative);
 277 
 278   inline oop forwardee() const;
 279   inline oop forwardee_acquire() const;
 280 
 281   // Age of object during scavenge
 282   inline uint age() const;
 283   inline void incr_age();
 284 
 285   // mark-sweep support
 286   void follow_body(int begin, int end);
 287 
 288   template <typename OopClosureType>
 289   inline void oop_iterate(OopClosureType* cl);
 290 
 291   template <typename OopClosureType>
 292   inline void oop_iterate(OopClosureType* cl, MemRegion mr);
 293 
 294   template <typename OopClosureType>
 295   inline int oop_iterate_size(OopClosureType* cl);
 296 


< prev index next >