< prev index next >

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

Print this page
@@ -39,15 +39,20 @@
    G1FullCollector* _collector;
    HeapRegionClaimer _claimer;
    G1CollectedHeap* _g1h;
  
    void compact_region(HeapRegion* hr);
+   template <bool ALT_FWD>
    void compact_humongous_obj(HeapRegion* hr);
    void free_non_overlapping_regions(uint src_start_idx, uint dest_start_idx, uint num_regions);
  
+   template <bool ALT_FWD>
    static void copy_object_to_new_location(oop obj);
  
+   template <bool ALT_FWD>
+   void humongous_compaction_impl();
+ 
  public:
    G1FullGCCompactTask(G1FullCollector* collector) :
      G1FullGCTask("G1 Compact Task", collector),
      _collector(collector),
      _claimer(collector->workers()),

@@ -55,10 +60,11 @@
  
    void work(uint worker_id);
    void serial_compaction();
    void humongous_compaction();
  
+   template <bool ALT_FWD>
    class G1CompactRegionClosure : public StackObj {
      G1CMBitMap* _bitmap;
      void clear_in_bitmap(oop object);
    public:
      G1CompactRegionClosure(G1CMBitMap* bitmap) : _bitmap(bitmap) { }
< prev index next >