< prev index next >

src/share/vm/gc/shenandoah/shenandoahHeapRegion.cpp

Print this page

        

*** 277,299 **** void ShenandoahHeapRegion::setup_heap_region_size(size_t initial_heap_size, size_t max_heap_size) { uintx region_size; if (FLAG_IS_DEFAULT(ShenandoahHeapRegionSize)) { if (ShenandoahMinRegionSize > initial_heap_size / MIN_NUM_REGIONS) { ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize option"); } if (ShenandoahMinRegionSize < MIN_REGION_SIZE) { ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize option"); } if (ShenandoahMinRegionSize < MinTLABSize) { ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize option"); } if (ShenandoahMaxRegionSize < MIN_REGION_SIZE) { ! vm_exit_during_initialization("Invalid -XX:ShenandoahMaxRegionSize option"); } if (ShenandoahMinRegionSize > ShenandoahMaxRegionSize) { ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize or -XX:ShenandoahMaxRegionSize"); } size_t average_heap_size = (initial_heap_size + max_heap_size) / 2; region_size = MAX2(average_heap_size / ShenandoahTargetNumRegions, ShenandoahMinRegionSize); --- 277,310 ---- void ShenandoahHeapRegion::setup_heap_region_size(size_t initial_heap_size, size_t max_heap_size) { uintx region_size; if (FLAG_IS_DEFAULT(ShenandoahHeapRegionSize)) { if (ShenandoahMinRegionSize > initial_heap_size / MIN_NUM_REGIONS) { ! err_msg message("Initial heap size (" SIZE_FORMAT "K) is too low to afford the minimum number " ! "of regions (" SIZE_FORMAT ") of minimum region size (" SIZE_FORMAT "K).", ! initial_heap_size/K, MIN_NUM_REGIONS, ShenandoahMinRegionSize/K); ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize option", message); } if (ShenandoahMinRegionSize < MIN_REGION_SIZE) { ! err_msg message("" SIZE_FORMAT "K should not be lower than minimum region size (" SIZE_FORMAT "K).", ! ShenandoahMinRegionSize/K, MIN_REGION_SIZE/K); ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize option", message); } if (ShenandoahMinRegionSize < MinTLABSize) { ! err_msg message("" SIZE_FORMAT "K should not be lower than TLAB size size (" SIZE_FORMAT "K).", ! ShenandoahMinRegionSize/K, MinTLABSize/K); ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize option", message); } if (ShenandoahMaxRegionSize < MIN_REGION_SIZE) { ! err_msg message("" SIZE_FORMAT "K should not be lower than min region size (" SIZE_FORMAT "K).", ! ShenandoahMaxRegionSize/K, MIN_REGION_SIZE/K); ! vm_exit_during_initialization("Invalid -XX:ShenandoahMaxRegionSize option", message); } if (ShenandoahMinRegionSize > ShenandoahMaxRegionSize) { ! err_msg message("Minimum (" SIZE_FORMAT "K) should be larger than maximum (" SIZE_FORMAT "K).", ! ShenandoahMinRegionSize/K, ShenandoahMaxRegionSize/K); ! vm_exit_during_initialization("Invalid -XX:ShenandoahMinRegionSize or -XX:ShenandoahMaxRegionSize", message); } size_t average_heap_size = (initial_heap_size + max_heap_size) / 2; region_size = MAX2(average_heap_size / ShenandoahTargetNumRegions, ShenandoahMinRegionSize);
*** 301,314 **** region_size = MAX2(ShenandoahMinRegionSize, region_size); region_size = MIN2(ShenandoahMaxRegionSize, region_size); } else { if (ShenandoahHeapRegionSize > initial_heap_size / MIN_NUM_REGIONS) { ! vm_exit_during_initialization("Invalid -XX:ShenandoahHeapRegionSize option"); } if (ShenandoahHeapRegionSize < MIN_REGION_SIZE) { ! vm_exit_during_initialization("Invalid -XX:ShenandoahHeapRegionSize option"); } region_size = ShenandoahHeapRegionSize; } // Make sure region size is at least one large page, if enabled. --- 312,330 ---- region_size = MAX2(ShenandoahMinRegionSize, region_size); region_size = MIN2(ShenandoahMaxRegionSize, region_size); } else { if (ShenandoahHeapRegionSize > initial_heap_size / MIN_NUM_REGIONS) { ! err_msg message("Initial heap size (" SIZE_FORMAT "K) is too low to afford the minimum number " ! "of regions (" SIZE_FORMAT ") of requested size (" SIZE_FORMAT "K).", ! initial_heap_size/K, MIN_NUM_REGIONS, ShenandoahHeapRegionSize/K); ! vm_exit_during_initialization("Invalid -XX:ShenandoahHeapRegionSize option", message); } if (ShenandoahHeapRegionSize < MIN_REGION_SIZE) { ! err_msg message("" SIZE_FORMAT " should not be lower than min region size (" SIZE_FORMAT "K).", ! ShenandoahHeapRegionSize/K, MIN_REGION_SIZE/K); ! vm_exit_during_initialization("Invalid -XX:ShenandoahHeapRegionSize option", message); } region_size = ShenandoahHeapRegionSize; } // Make sure region size is at least one large page, if enabled.
< prev index next >