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

Print this page

        

*** 23,32 **** --- 23,34 ---- */ #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1REMSET_HPP #define SHARE_VM_GC_IMPLEMENTATION_G1_G1REMSET_HPP + #include "gc_implementation/g1/g1RemSetSummary.hpp" + // A G1RemSet provides ways of iterating over pointers into a selected // collection set. class G1CollectedHeap; class CardTableModRefBarrierSet;
*** 35,47 **** // A G1RemSet in which each heap region has a rem set that records the // external heap references into it. Uses a mod ref bs to track updates, // so that they can be used to update the individual region remsets. class G1RemSet: public CHeapObj<mtGC> { protected: G1CollectedHeap* _g1; ! unsigned _conc_refine_cards; uint n_workers(); protected: enum SomePrivateConstants { UpdateRStoMergeSync = 0, --- 37,51 ---- // A G1RemSet in which each heap region has a rem set that records the // external heap references into it. Uses a mod ref bs to track updates, // so that they can be used to update the individual region remsets. class G1RemSet: public CHeapObj<mtGC> { + private: + G1RemSetSummary _last_period_summary; protected: G1CollectedHeap* _g1; ! size_t _conc_refine_cards; uint n_workers(); protected: enum SomePrivateConstants { UpdateRStoMergeSync = 0,
*** 64,73 **** --- 68,79 ---- // Used for caching the closure that is responsible for scanning // references into the collection set. OopsInHeapRegionClosure** _cset_rs_update_cl; + // Print the given summary info + virtual void print_summary_info(G1RemSetSummary * summary, const char * header = NULL); public: // This is called to reset dual hash tables after the gc pause // is finished and the initial hash table is no longer being // scanned. void cleanupHRRS();
*** 121,135 **** // current collection set. virtual bool refine_card(jbyte* card_ptr, int worker_i, bool check_for_refs_into_cset); ! // Print any relevant summary info. virtual void print_summary_info(); // Prepare remembered set for verification. virtual void prepare_for_verify(); }; class CountNonCleanMemRegionClosure: public MemRegionClosure { G1CollectedHeap* _g1; int _n; --- 127,148 ---- // current collection set. virtual bool refine_card(jbyte* card_ptr, int worker_i, bool check_for_refs_into_cset); ! // Print accumulated summary info from the start of the VM. virtual void print_summary_info(); + // Print accumulated summary info from the last time called. + virtual void print_periodic_summary_info(); + // Prepare remembered set for verification. virtual void prepare_for_verify(); + + size_t conc_refine_cards() const { + return _conc_refine_cards; + } }; class CountNonCleanMemRegionClosure: public MemRegionClosure { G1CollectedHeap* _g1; int _n;