206 // Set up the region size and associated fields. Given that the |
206 // Set up the region size and associated fields. Given that the |
207 // policy is created before the heap, we have to set this up here, |
207 // policy is created before the heap, we have to set this up here, |
208 // so it's done as soon as possible. |
208 // so it's done as soon as possible. |
209 HeapRegion::setup_heap_region_size(Arguments::min_heap_size()); |
209 HeapRegion::setup_heap_region_size(Arguments::min_heap_size()); |
210 HeapRegionRemSet::setup_remset_size(); |
210 HeapRegionRemSet::setup_remset_size(); |
|
211 |
|
212 // Verify PLAB sizes |
|
213 const uint region_size = HeapRegion::GrainWords; |
|
214 if (YoungPLABSize > region_size || OldPLABSize > region_size) { |
|
215 char buffer[128]; |
|
216 jio_snprintf(buffer, sizeof(buffer), "%sPLABSize should be at most %u", |
|
217 OldPLABSize > region_size ? "Old" : "Young", region_size); |
|
218 vm_exit_during_initialization(buffer); |
|
219 } |
211 |
220 |
212 _recent_prev_end_times_for_all_gcs_sec->add(os::elapsedTime()); |
221 _recent_prev_end_times_for_all_gcs_sec->add(os::elapsedTime()); |
213 _prev_collection_pause_end_ms = os::elapsedTime() * 1000.0; |
222 _prev_collection_pause_end_ms = os::elapsedTime() * 1000.0; |
214 |
223 |
215 _par_last_ext_root_scan_times_ms = new double[_parallel_gc_threads]; |
224 _par_last_ext_root_scan_times_ms = new double[_parallel_gc_threads]; |