< prev index next >

src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp

Print this page
rev 7558 : 8048179: Early reclaim of large objects that are referenced by a few objects
Summary:
Reviewed-by:


 659   }
 660 
 661   // Determines PLAB size for a particular allocation purpose.
 662   size_t desired_plab_sz(GCAllocPurpose purpose);
 663 
 664   inline AllocationContextStats& allocation_context_stats();
 665 
 666   // Do anything common to GC's.
 667   virtual void gc_prologue(bool full);
 668   virtual void gc_epilogue(bool full);
 669 
 670   inline void set_humongous_is_live(oop obj);
 671 
 672   bool humongous_is_live(uint region) {
 673     return _humongous_is_live.is_live(region);
 674   }
 675 
 676   // Returns whether the given region (which must be a humongous (start) region)
 677   // is to be considered conservatively live regardless of any other conditions.
 678   bool humongous_region_is_always_live(uint index);



 679   // Register the given region to be part of the collection set.
 680   inline void register_humongous_region_with_in_cset_fast_test(uint index);
 681   // Register regions with humongous objects (actually on the start region) in
 682   // the in_cset_fast_test table.
 683   void register_humongous_regions_with_in_cset_fast_test();
 684   // We register a region with the fast "in collection set" test. We
 685   // simply set to true the array slot corresponding to this region.
 686   void register_region_with_in_cset_fast_test(HeapRegion* r) {
 687     _in_cset_fast_test.set_in_cset(r->hrm_index());
 688   }
 689 
 690   // This is a fast test on whether a reference points into the
 691   // collection set or not. Assume that the reference
 692   // points into the heap.
 693   inline bool in_cset_fast_test(oop obj);
 694 
 695   void clear_cset_fast_test() {
 696     _in_cset_fast_test.clear();
 697   }
 698 




 659   }
 660 
 661   // Determines PLAB size for a particular allocation purpose.
 662   size_t desired_plab_sz(GCAllocPurpose purpose);
 663 
 664   inline AllocationContextStats& allocation_context_stats();
 665 
 666   // Do anything common to GC's.
 667   virtual void gc_prologue(bool full);
 668   virtual void gc_epilogue(bool full);
 669 
 670   inline void set_humongous_is_live(oop obj);
 671 
 672   bool humongous_is_live(uint region) {
 673     return _humongous_is_live.is_live(region);
 674   }
 675 
 676   // Returns whether the given region (which must be a humongous (start) region)
 677   // is to be considered conservatively live regardless of any other conditions.
 678   bool humongous_region_is_always_live(uint index);
 679   // Returns whether the given region (which must be a humongous (start) region)
 680   // is considered a candidate for eager reclamation.
 681   bool humongous_region_is_candidate(uint index);
 682   // Register the given region to be part of the collection set.
 683   inline void register_humongous_region_with_in_cset_fast_test(uint index);
 684   // Register regions with humongous objects (actually on the start region) in
 685   // the in_cset_fast_test table.
 686   void register_humongous_regions_with_in_cset_fast_test();
 687   // We register a region with the fast "in collection set" test. We
 688   // simply set to true the array slot corresponding to this region.
 689   void register_region_with_in_cset_fast_test(HeapRegion* r) {
 690     _in_cset_fast_test.set_in_cset(r->hrm_index());
 691   }
 692 
 693   // This is a fast test on whether a reference points into the
 694   // collection set or not. Assume that the reference
 695   // points into the heap.
 696   inline bool in_cset_fast_test(oop obj);
 697 
 698   void clear_cset_fast_test() {
 699     _in_cset_fast_test.clear();
 700   }
 701 


< prev index next >