1.1 --- a/src/share/vm/gc_implementation/g1/g1RemSet.hpp Sat Jun 01 10:00:56 2013 +0200 1.2 +++ b/src/share/vm/gc_implementation/g1/g1RemSet.hpp Tue May 28 09:32:06 2013 +0200 1.3 @@ -25,6 +25,8 @@ 1.4 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1REMSET_HPP 1.5 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1REMSET_HPP 1.6 1.7 +#include "gc_implementation/g1/g1RemSetSummary.hpp" 1.8 + 1.9 // A G1RemSet provides ways of iterating over pointers into a selected 1.10 // collection set. 1.11 1.12 @@ -37,9 +39,11 @@ 1.13 // so that they can be used to update the individual region remsets. 1.14 1.15 class G1RemSet: public CHeapObj<mtGC> { 1.16 +private: 1.17 + G1RemSetSummary _prev_period_summary; 1.18 protected: 1.19 G1CollectedHeap* _g1; 1.20 - unsigned _conc_refine_cards; 1.21 + size_t _conc_refine_cards; 1.22 uint n_workers(); 1.23 1.24 protected: 1.25 @@ -66,6 +70,8 @@ 1.26 // references into the collection set. 1.27 OopsInHeapRegionClosure** _cset_rs_update_cl; 1.28 1.29 + // Print the given summary info 1.30 + virtual void print_summary_info(G1RemSetSummary * summary, const char * header = NULL); 1.31 public: 1.32 // This is called to reset dual hash tables after the gc pause 1.33 // is finished and the initial hash table is no longer being 1.34 @@ -123,11 +129,18 @@ 1.35 int worker_i, 1.36 bool check_for_refs_into_cset); 1.37 1.38 - // Print any relevant summary info. 1.39 + // Print accumulated summary info from the start of the VM. 1.40 virtual void print_summary_info(); 1.41 1.42 + // Print accumulated summary info from the last time called. 1.43 + virtual void print_periodic_summary_info(); 1.44 + 1.45 // Prepare remembered set for verification. 1.46 virtual void prepare_for_verify(); 1.47 + 1.48 + size_t conc_refine_cards() const { 1.49 + return _conc_refine_cards; 1.50 + } 1.51 }; 1.52 1.53 class CountNonCleanMemRegionClosure: public MemRegionClosure {