< prev index next >

src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp

Print this page




  50   bool has_freed_regions();
  51 
  52 protected:
  53   class G1CalculatePointersClosure : public HeapRegionClosure {
  54   protected:
  55     G1CollectedHeap* _g1h;
  56     G1CMBitMap* _bitmap;
  57     G1FullGCCompactionPoint* _cp;
  58     uint _humongous_regions_removed;
  59 
  60     virtual void prepare_for_compaction(HeapRegion* hr);
  61     void prepare_for_compaction_work(G1FullGCCompactionPoint* cp, HeapRegion* hr);
  62     void free_humongous_region(HeapRegion* hr);
  63     void reset_region_metadata(HeapRegion* hr);
  64 
  65   public:
  66     G1CalculatePointersClosure(G1CMBitMap* bitmap,
  67                                G1FullGCCompactionPoint* cp);
  68 
  69     void update_sets();
  70     bool do_heap_region(HeapRegion* hr);
  71     bool freed_regions();
  72   };
  73 
  74   class G1PrepareCompactLiveClosure : public StackObj {
  75     G1FullGCCompactionPoint* _cp;
  76 
  77   public:
  78     G1PrepareCompactLiveClosure(G1FullGCCompactionPoint* cp);
  79     size_t apply(oop object);
  80   };
  81 
  82   class G1RePrepareClosure : public StackObj {
  83     G1FullGCCompactionPoint* _cp;
  84     HeapRegion* _current;
  85 
  86   public:
  87     G1RePrepareClosure(G1FullGCCompactionPoint* hrcp,
  88                        HeapRegion* hr) :
  89         _cp(hrcp),
  90         _current(hr) { }


  50   bool has_freed_regions();
  51 
  52 protected:
  53   class G1CalculatePointersClosure : public HeapRegionClosure {
  54   protected:
  55     G1CollectedHeap* _g1h;
  56     G1CMBitMap* _bitmap;
  57     G1FullGCCompactionPoint* _cp;
  58     uint _humongous_regions_removed;
  59 
  60     virtual void prepare_for_compaction(HeapRegion* hr);
  61     void prepare_for_compaction_work(G1FullGCCompactionPoint* cp, HeapRegion* hr);
  62     void free_humongous_region(HeapRegion* hr);
  63     void reset_region_metadata(HeapRegion* hr);
  64 
  65   public:
  66     G1CalculatePointersClosure(G1CMBitMap* bitmap,
  67                                G1FullGCCompactionPoint* cp);
  68 
  69     void update_sets();
  70     bool doHeapRegion(HeapRegion* hr);
  71     bool freed_regions();
  72   };
  73 
  74   class G1PrepareCompactLiveClosure : public StackObj {
  75     G1FullGCCompactionPoint* _cp;
  76 
  77   public:
  78     G1PrepareCompactLiveClosure(G1FullGCCompactionPoint* cp);
  79     size_t apply(oop object);
  80   };
  81 
  82   class G1RePrepareClosure : public StackObj {
  83     G1FullGCCompactionPoint* _cp;
  84     HeapRegion* _current;
  85 
  86   public:
  87     G1RePrepareClosure(G1FullGCCompactionPoint* hrcp,
  88                        HeapRegion* hr) :
  89         _cp(hrcp),
  90         _current(hr) { }
< prev index next >