< prev index next >

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

Print this page

 605   // (Rounds up to a G1HeapRegion boundary.)
 606   bool expand(size_t expand_bytes, WorkerThreads* pretouch_workers);
 607   bool expand_single_region(uint node_index);
 608 
 609   // Returns the PLAB statistics for a given destination.
 610   inline G1EvacStats* alloc_buffer_stats(G1HeapRegionAttr dest);
 611 
 612   // Determines PLAB size for a given destination.
 613   inline size_t desired_plab_sz(G1HeapRegionAttr dest);
 614   // Clamp the given PLAB word size to allowed values. Prevents humongous PLAB sizes
 615   // for two reasons:
 616   // * PLABs are allocated using a similar paths as oops, but should
 617   //   never be in a humongous region
 618   // * Allowing humongous PLABs needlessly churns the region free lists
 619   inline size_t clamp_plab_size(size_t value) const;
 620 
 621   // Do anything common to GC's.
 622   void gc_prologue(bool full);
 623   void gc_epilogue(bool full);
 624 





 625   // Does the given region fulfill remembered set based eager reclaim candidate requirements?
 626   bool is_potential_eager_reclaim_candidate(G1HeapRegion* r) const;
 627 
 628   inline bool is_humongous_reclaim_candidate(uint region);
 629 
 630   // Remove from the reclaim candidate set.  Also remove from the
 631   // collection set so that later encounters avoid the slow path.
 632   inline void set_humongous_is_live(oop obj);
 633 
 634   // Register the given region to be part of the collection set.
 635   inline void register_humongous_candidate_region_with_region_attr(uint index);
 636 
 637   void set_humongous_metadata(G1HeapRegion* first_hr,
 638                               uint num_regions,
 639                               size_t word_size,
 640                               bool update_remsets);
 641 
 642   // The following methods update the region attribute table, i.e. a compact
 643   // representation of per-region information that is regularly accessed
 644   // during GC.

 605   // (Rounds up to a G1HeapRegion boundary.)
 606   bool expand(size_t expand_bytes, WorkerThreads* pretouch_workers);
 607   bool expand_single_region(uint node_index);
 608 
 609   // Returns the PLAB statistics for a given destination.
 610   inline G1EvacStats* alloc_buffer_stats(G1HeapRegionAttr dest);
 611 
 612   // Determines PLAB size for a given destination.
 613   inline size_t desired_plab_sz(G1HeapRegionAttr dest);
 614   // Clamp the given PLAB word size to allowed values. Prevents humongous PLAB sizes
 615   // for two reasons:
 616   // * PLABs are allocated using a similar paths as oops, but should
 617   //   never be in a humongous region
 618   // * Allowing humongous PLABs needlessly churns the region free lists
 619   inline size_t clamp_plab_size(size_t value) const;
 620 
 621   // Do anything common to GC's.
 622   void gc_prologue(bool full);
 623   void gc_epilogue(bool full);
 624 
 625   // Can concurrent mark process this object immediately, i.e. mark as live without the need
 626   // of pushing it on the mark stack (to process references)?
 627   // Used to keep objects that are potentially eagerly reclaimed out of the mark stack.
 628   // Its klass may still need to be handled.
 629   inline bool can_be_marked_through_immediately(oop obj) const;
 630   // Does the given region fulfill remembered set based eager reclaim candidate requirements?
 631   bool is_potential_eager_reclaim_candidate(G1HeapRegion* r) const;
 632 
 633   inline bool is_humongous_reclaim_candidate(uint region);
 634 
 635   // Remove from the reclaim candidate set.  Also remove from the
 636   // collection set so that later encounters avoid the slow path.
 637   inline void set_humongous_is_live(oop obj);
 638 
 639   // Register the given region to be part of the collection set.
 640   inline void register_humongous_candidate_region_with_region_attr(uint index);
 641 
 642   void set_humongous_metadata(G1HeapRegion* first_hr,
 643                               uint num_regions,
 644                               size_t word_size,
 645                               bool update_remsets);
 646 
 647   // The following methods update the region attribute table, i.e. a compact
 648   // representation of per-region information that is regularly accessed
 649   // during GC.
< prev index next >