< prev index next >

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

Print this page

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





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

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