--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Thu Apr 15 18:45:30 2010 -0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Fri Apr 16 08:48:16 2010 -0700
@@ -209,6 +209,15 @@
HeapRegion::setup_heap_region_size(Arguments::min_heap_size());
HeapRegionRemSet::setup_remset_size();
+ // Verify PLAB sizes
+ const uint region_size = HeapRegion::GrainWords;
+ if (YoungPLABSize > region_size || OldPLABSize > region_size) {
+ char buffer[128];
+ jio_snprintf(buffer, sizeof(buffer), "%sPLABSize should be at most %u",
+ OldPLABSize > region_size ? "Old" : "Young", region_size);
+ vm_exit_during_initialization(buffer);
+ }
+
_recent_prev_end_times_for_all_gcs_sec->add(os::elapsedTime());
_prev_collection_pause_end_ms = os::elapsedTime() * 1000.0;