hotspot/src/share/vm/oops/oop.hpp
changeset 30150 d9c940aa42ef
parent 29081 c61eb4914428
child 30263 ffa31d06cb02
equal deleted inserted replaced
30149:c0f930abe5ed 30150:d9c940aa42ef
   296   bool is_unlocked_oop() const;
   296   bool is_unlocked_oop() const;
   297 #endif
   297 #endif
   298 
   298 
   299   // garbage collection
   299   // garbage collection
   300   bool is_gc_marked() const;
   300   bool is_gc_marked() const;
   301   // Apply "MarkSweep::mark_and_push" to (the address of) every non-NULL
       
   302   // reference field in "this".
       
   303   void follow_contents(void);
       
   304 
       
   305 #if INCLUDE_ALL_GCS
       
   306   // Parallel Scavenge
       
   307   void push_contents(PSPromotionManager* pm);
       
   308 
       
   309   // Parallel Old
       
   310   void update_contents(ParCompactionManager* cm);
       
   311 
       
   312   void follow_contents(ParCompactionManager* cm);
       
   313 #endif // INCLUDE_ALL_GCS
       
   314 
   301 
   315   bool is_scavengable() const;
   302   bool is_scavengable() const;
   316 
   303 
   317   // Forward pointer operations for scavenge
   304   // Forward pointer operations for scavenge
   318   bool is_forwarded() const;
   305   bool is_forwarded() const;
   332 
   319 
   333   // Age of object during scavenge
   320   // Age of object during scavenge
   334   uint age() const;
   321   uint age() const;
   335   void incr_age();
   322   void incr_age();
   336 
   323 
   337   // Adjust all pointers in this object to point at it's forwarded location and
       
   338   // return the size of this oop.  This is used by the MarkSweep collector.
       
   339   int adjust_pointers();
       
   340 
   324 
   341   // mark-sweep support
   325   // mark-sweep support
   342   void follow_body(int begin, int end);
   326   void follow_body(int begin, int end);
   343 
   327 
   344   // Fast access to barrier set
   328   // Fast access to barrier set
   345   static BarrierSet* bs()            { return _bs; }
   329   static BarrierSet* bs()            { return _bs; }
   346   static void set_bs(BarrierSet* bs) { _bs = bs; }
   330   static void set_bs(BarrierSet* bs) { _bs = bs; }
       
   331 
       
   332   // Garbage Collection support
       
   333 
       
   334   // Mark Sweep
       
   335   void ms_follow_contents();
       
   336   // Adjust all pointers in this object to point at it's forwarded location and
       
   337   // return the size of this oop.  This is used by the MarkSweep collector.
       
   338   int  ms_adjust_pointers();
       
   339 #if INCLUDE_ALL_GCS
       
   340   // Parallel Compact
       
   341   void pc_follow_contents(ParCompactionManager* pc);
       
   342   void pc_update_contents();
       
   343   // Parallel Scavenge
       
   344   void ps_push_contents(PSPromotionManager* pm);
       
   345 #endif
       
   346 
   347 
   347 
   348   // iterators, returns size of object
   348   // iterators, returns size of object
   349 #define OOP_ITERATE_DECL(OopClosureType, nv_suffix)                      \
   349 #define OOP_ITERATE_DECL(OopClosureType, nv_suffix)                      \
   350   int oop_iterate(OopClosureType* blk);                                  \
   350   int oop_iterate(OopClosureType* blk);                                  \
   351   int oop_iterate(OopClosureType* blk, MemRegion mr);  // Only in mr.
   351   int oop_iterate(OopClosureType* blk, MemRegion mr);  // Only in mr.