1.1 --- a/src/share/vm/gc_implementation/g1/g1RemSet.cpp Wed Jun 27 15:23:36 2012 +0200 1.2 +++ b/src/share/vm/gc_implementation/g1/g1RemSet.cpp Thu Jun 28 17:03:16 2012 -0400 1.3 @@ -75,7 +75,7 @@ 1.4 { 1.5 _seq_task = new SubTasksDone(NumSeqTasks); 1.6 guarantee(n_workers() > 0, "There should be some workers"); 1.7 - _cset_rs_update_cl = NEW_C_HEAP_ARRAY(OopsInHeapRegionClosure*, n_workers()); 1.8 + _cset_rs_update_cl = NEW_C_HEAP_ARRAY(OopsInHeapRegionClosure*, n_workers(), mtGC); 1.9 for (uint i = 0; i < n_workers(); i++) { 1.10 _cset_rs_update_cl[i] = NULL; 1.11 } 1.12 @@ -86,7 +86,7 @@ 1.13 for (uint i = 0; i < n_workers(); i++) { 1.14 assert(_cset_rs_update_cl[i] == NULL, "it should be"); 1.15 } 1.16 - FREE_C_HEAP_ARRAY(OopsInHeapRegionClosure*, _cset_rs_update_cl); 1.17 + FREE_C_HEAP_ARRAY(OopsInHeapRegionClosure*, _cset_rs_update_cl, mtGC); 1.18 } 1.19 1.20 void CountNonCleanMemRegionClosure::do_MemRegion(MemRegion mr) { 1.21 @@ -416,7 +416,7 @@ 1.22 // _seq_task->set_n_termination((int)n_workers()); 1.23 } 1.24 guarantee( _cards_scanned == NULL, "invariant" ); 1.25 - _cards_scanned = NEW_C_HEAP_ARRAY(size_t, n_workers()); 1.26 + _cards_scanned = NEW_C_HEAP_ARRAY(size_t, n_workers(), mtGC); 1.27 for (uint i = 0; i < n_workers(); ++i) { 1.28 _cards_scanned[i] = 0; 1.29 } 1.30 @@ -487,7 +487,7 @@ 1.31 for (uint i = 0; i < n_workers(); ++i) { 1.32 _total_cards_scanned += _cards_scanned[i]; 1.33 } 1.34 - FREE_C_HEAP_ARRAY(size_t, _cards_scanned); 1.35 + FREE_C_HEAP_ARRAY(size_t, _cards_scanned, mtGC); 1.36 _cards_scanned = NULL; 1.37 // Cleanup after copy 1.38 _g1->set_refine_cte_cl_concurrency(true);