< prev index next >

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

Print this page




 576   inline void register_humongous_region_with_region_attr(uint index);
 577   // Update region attributes table with information about all regions.
 578   void register_regions_with_region_attr();
 579   // We register a region with the fast "in collection set" test. We
 580   // simply set to true the array slot corresponding to this region.
 581   void register_young_region_with_region_attr(HeapRegion* r) {
 582     _region_attr.set_in_young(r->hrm_index());
 583   }
 584   inline void register_region_with_region_attr(HeapRegion* r);
 585   inline void register_old_region_with_region_attr(HeapRegion* r);
 586   inline void register_optional_region_with_region_attr(HeapRegion* r);
 587 
 588   void clear_region_attr(const HeapRegion* hr) {
 589     _region_attr.clear(hr);
 590   }
 591 
 592   void clear_region_attr() {
 593     _region_attr.clear();
 594   }
 595 
 596   // Verify that the G1RegionAttr remset tracking corresponds to actual remset tracking
 597   // for all regions.
 598   void verify_region_attr_remset_update() PRODUCT_RETURN;
 599 
 600   bool is_user_requested_concurrent_full_gc(GCCause::Cause cause);
 601 
 602   // This is called at the start of either a concurrent cycle or a Full
 603   // GC to update the number of old marking cycles started.
 604   void increment_old_marking_cycles_started();
 605 
 606   // This is called at the end of either a concurrent cycle or a Full
 607   // GC to update the number of old marking cycles completed. Those two
 608   // can happen in a nested fashion, i.e., we start a concurrent
 609   // cycle, a Full GC happens half-way through it which ends first,
 610   // and then the cycle notices that a Full GC happened and ends
 611   // too. The concurrent parameter is a boolean to help us do a bit
 612   // tighter consistency checking in the method. If concurrent is
 613   // false, the caller is the inner caller in the nesting (i.e., the
 614   // Full GC). If concurrent is true, the caller is the outer caller
 615   // in this nesting (i.e., the concurrent cycle). Further nesting is
 616   // not currently supported. The end of this call also notifies
 617   // the FullGCCount_lock in case a Java thread is waiting for a full
 618   // GC to happen (e.g., it called System.gc() with
 619   // +ExplicitGCInvokesConcurrent).




 576   inline void register_humongous_region_with_region_attr(uint index);
 577   // Update region attributes table with information about all regions.
 578   void register_regions_with_region_attr();
 579   // We register a region with the fast "in collection set" test. We
 580   // simply set to true the array slot corresponding to this region.
 581   void register_young_region_with_region_attr(HeapRegion* r) {
 582     _region_attr.set_in_young(r->hrm_index());
 583   }
 584   inline void register_region_with_region_attr(HeapRegion* r);
 585   inline void register_old_region_with_region_attr(HeapRegion* r);
 586   inline void register_optional_region_with_region_attr(HeapRegion* r);
 587 
 588   void clear_region_attr(const HeapRegion* hr) {
 589     _region_attr.clear(hr);
 590   }
 591 
 592   void clear_region_attr() {
 593     _region_attr.clear();
 594   }
 595 




 596   bool is_user_requested_concurrent_full_gc(GCCause::Cause cause);
 597 
 598   // This is called at the start of either a concurrent cycle or a Full
 599   // GC to update the number of old marking cycles started.
 600   void increment_old_marking_cycles_started();
 601 
 602   // This is called at the end of either a concurrent cycle or a Full
 603   // GC to update the number of old marking cycles completed. Those two
 604   // can happen in a nested fashion, i.e., we start a concurrent
 605   // cycle, a Full GC happens half-way through it which ends first,
 606   // and then the cycle notices that a Full GC happened and ends
 607   // too. The concurrent parameter is a boolean to help us do a bit
 608   // tighter consistency checking in the method. If concurrent is
 609   // false, the caller is the inner caller in the nesting (i.e., the
 610   // Full GC). If concurrent is true, the caller is the outer caller
 611   // in this nesting (i.e., the concurrent cycle). Further nesting is
 612   // not currently supported. The end of this call also notifies
 613   // the FullGCCount_lock in case a Java thread is waiting for a full
 614   // GC to happen (e.g., it called System.gc() with
 615   // +ExplicitGCInvokesConcurrent).


< prev index next >