comparison src/share/vm/gc_implementation/g1/g1RemSet.cpp @ 23224:79b13c9a93e8

8075210: Refactor strong root processing in order to allow G1 to evolve separately from GenCollectedHeap Summary: Create a G1RootProcessor and move SharedHeap root processing to GenCollectedHeap Reviewed-by: brutisso, tschatzl, ehelin
author mgerdin
date Mon, 01 Dec 2014 15:24:56 +0100
parents 8f8f1d578796
children ea47136e6ea4
comparison
equal deleted inserted replaced
23223:8f8f1d578796 23224:79b13c9a93e8
76 _cg1r(g1->concurrent_g1_refine()), 76 _cg1r(g1->concurrent_g1_refine()),
77 _cset_rs_update_cl(NULL), 77 _cset_rs_update_cl(NULL),
78 _cards_scanned(NULL), _total_cards_scanned(0), 78 _cards_scanned(NULL), _total_cards_scanned(0),
79 _prev_period_summary() 79 _prev_period_summary()
80 { 80 {
81 _seq_task = new SubTasksDone(NumSeqTasks);
82 guarantee(n_workers() > 0, "There should be some workers"); 81 guarantee(n_workers() > 0, "There should be some workers");
83 _cset_rs_update_cl = NEW_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, n_workers(), mtGC); 82 _cset_rs_update_cl = NEW_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, n_workers(), mtGC);
84 for (uint i = 0; i < n_workers(); i++) { 83 for (uint i = 0; i < n_workers(); i++) {
85 _cset_rs_update_cl[i] = NULL; 84 _cset_rs_update_cl[i] = NULL;
86 } 85 }
88 _prev_period_summary.initialize(this); 87 _prev_period_summary.initialize(this);
89 } 88 }
90 } 89 }
91 90
92 G1RemSet::~G1RemSet() { 91 G1RemSet::~G1RemSet() {
93 delete _seq_task;
94 for (uint i = 0; i < n_workers(); i++) { 92 for (uint i = 0; i < n_workers(); i++) {
95 assert(_cset_rs_update_cl[i] == NULL, "it should be"); 93 assert(_cset_rs_update_cl[i] == NULL, "it should be");
96 } 94 }
97 FREE_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, _cset_rs_update_cl, mtGC); 95 FREE_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, _cset_rs_update_cl, mtGC);
98 } 96 }