hotspot/src/share/vm/gc/g1/heapRegion.hpp
changeset 39698 4016de4e596b
parent 38183 cb68e4923223
child 39979 b17e445924da
equal deleted inserted replaced
39697:1f34864a0347 39698:4016de4e596b
   259   HeapRegion* _humongous_start_region;
   259   HeapRegion* _humongous_start_region;
   260 
   260 
   261   // True iff an attempt to evacuate an object in the region failed.
   261   // True iff an attempt to evacuate an object in the region failed.
   262   bool _evacuation_failed;
   262   bool _evacuation_failed;
   263 
   263 
   264   // A heap region may be a member one of a number of special subsets, each
       
   265   // represented as linked lists through the field below.  Currently, there
       
   266   // is only one set:
       
   267   //   The collection set.
       
   268   HeapRegion* _next_in_special_set;
       
   269 
       
   270   // Fields used by the HeapRegionSetBase class and subclasses.
   264   // Fields used by the HeapRegionSetBase class and subclasses.
   271   HeapRegion* _next;
   265   HeapRegion* _next;
   272   HeapRegion* _prev;
   266   HeapRegion* _prev;
   273 #ifdef ASSERT
   267 #ifdef ASSERT
   274   HeapRegionSetBase* _containing_set;
   268   HeapRegionSetBase* _containing_set;
   473   HeapRegionRemSet* rem_set() const {
   467   HeapRegionRemSet* rem_set() const {
   474     return _rem_set;
   468     return _rem_set;
   475   }
   469   }
   476 
   470 
   477   inline bool in_collection_set() const;
   471   inline bool in_collection_set() const;
   478 
       
   479   inline HeapRegion* next_in_collection_set() const;
       
   480   inline void set_next_in_collection_set(HeapRegion* r);
       
   481 
   472 
   482   void set_allocation_context(AllocationContext_t context) {
   473   void set_allocation_context(AllocationContext_t context) {
   483     _allocation_context = context;
   474     _allocation_context = context;
   484   }
   475   }
   485 
   476 
   742 
   733 
   743 // HeapRegionClosure is used for iterating over regions.
   734 // HeapRegionClosure is used for iterating over regions.
   744 // Terminates the iteration when the "doHeapRegion" method returns "true".
   735 // Terminates the iteration when the "doHeapRegion" method returns "true".
   745 class HeapRegionClosure : public StackObj {
   736 class HeapRegionClosure : public StackObj {
   746   friend class HeapRegionManager;
   737   friend class HeapRegionManager;
   747   friend class G1CollectedHeap;
   738   friend class G1CollectionSet;
   748 
   739 
   749   bool _complete;
   740   bool _complete;
   750   void incomplete() { _complete = false; }
   741   void incomplete() { _complete = false; }
   751 
   742 
   752  public:
   743  public: