src/hotspot/share/gc/g1/heapRegionManager.cpp
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 54678 93f09ca4a7f8
child 58679 9c3209ff7550
equal deleted inserted replaced
58677:13588c901957 58678:9cf78a70fa4f
    68   _free_list("Free list", new MasterFreeRegionListChecker())
    68   _free_list("Free list", new MasterFreeRegionListChecker())
    69 { }
    69 { }
    70 
    70 
    71 HeapRegionManager* HeapRegionManager::create_manager(G1CollectedHeap* heap) {
    71 HeapRegionManager* HeapRegionManager::create_manager(G1CollectedHeap* heap) {
    72   if (G1Arguments::is_heterogeneous_heap()) {
    72   if (G1Arguments::is_heterogeneous_heap()) {
    73     return new HeterogeneousHeapRegionManager((uint)(G1Arguments::heap_reserved_size_bytes() / HeapRegion::GrainBytes) /*heap size as num of regions*/);
    73     return new HeterogeneousHeapRegionManager((uint)(G1Arguments::heap_max_size_bytes() / HeapRegion::GrainBytes) /*heap size as num of regions*/);
    74   }
    74   }
    75   return new HeapRegionManager();
    75   return new HeapRegionManager();
    76 }
    76 }
    77 
    77 
    78 void HeapRegionManager::initialize(G1RegionToSpaceMapper* heap_storage,
    78 void HeapRegionManager::initialize(G1RegionToSpaceMapper* heap_storage,
   529   memset(new_claims, Unclaimed, sizeof(*_claims) * _n_regions);
   529   memset(new_claims, Unclaimed, sizeof(*_claims) * _n_regions);
   530   _claims = new_claims;
   530   _claims = new_claims;
   531 }
   531 }
   532 
   532 
   533 HeapRegionClaimer::~HeapRegionClaimer() {
   533 HeapRegionClaimer::~HeapRegionClaimer() {
   534   if (_claims != NULL) {
   534   FREE_C_HEAP_ARRAY(uint, _claims);
   535     FREE_C_HEAP_ARRAY(uint, _claims);
       
   536   }
       
   537 }
   535 }
   538 
   536 
   539 uint HeapRegionClaimer::offset_for_worker(uint worker_id) const {
   537 uint HeapRegionClaimer::offset_for_worker(uint worker_id) const {
   540   assert(worker_id < _n_workers, "Invalid worker_id.");
   538   assert(worker_id < _n_workers, "Invalid worker_id.");
   541   return _n_regions * worker_id / _n_workers;
   539   return _n_regions * worker_id / _n_workers;