equal
deleted
inserted
replaced
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; |