< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentMark.cpp
Print this page
rev 58059 : imported patch 8238999-memregion-custom-operator
*** 259,282 ****
_chunk_list = NULL;
_free_list = NULL;
}
G1CMRootMemRegions::G1CMRootMemRegions(uint const max_regions) :
! _root_regions(NULL),
_max_regions(max_regions),
_num_root_regions(0),
_claimed_root_regions(0),
_scan_in_progress(false),
_should_abort(false) {
! _root_regions = new MemRegion[_max_regions];
! if (_root_regions == NULL) {
! vm_exit_during_initialization("Could not allocate root MemRegion set.");
}
}
G1CMRootMemRegions::~G1CMRootMemRegions() {
! delete[] _root_regions;
}
void G1CMRootMemRegions::reset() {
_num_root_regions = 0;
}
--- 259,281 ----
_chunk_list = NULL;
_free_list = NULL;
}
G1CMRootMemRegions::G1CMRootMemRegions(uint const max_regions) :
! _root_regions(NEW_C_HEAP_ARRAY(MemRegion, max_regions, mtGC)),
_max_regions(max_regions),
_num_root_regions(0),
_claimed_root_regions(0),
_scan_in_progress(false),
_should_abort(false) {
! for (uint i = 0; i < max_regions; i++) {
! ::new (&_root_regions[i]) MemRegion();
}
}
G1CMRootMemRegions::~G1CMRootMemRegions() {
! FREE_C_HEAP_ARRAY(MemRegion, _root_regions);
}
void G1CMRootMemRegions::reset() {
_num_root_regions = 0;
}
< prev index next >