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;