--- old/src/share/vm/memory/collectorPolicy.cpp 2014-06-12 03:58:36.000000000 -0400 +++ new/src/share/vm/memory/collectorPolicy.cpp 2014-06-12 03:58:36.000000000 -0400 @@ -392,7 +392,7 @@ uintx calculated_size = NewSize + OldSize; double shrink_factor = (double) MaxHeapSize / calculated_size; uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment); - FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size)); + FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), (size_t)smaller_new_size)); _initial_gen0_size = NewSize; // OldSize is already aligned because above we aligned MaxHeapSize to @@ -461,7 +461,7 @@ // yield a size that is too small) and bound it by MaxNewSize above. // Ergonomics plays here by previously calculating the desired // NewSize and MaxNewSize. - max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize); + max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize); } assert(max_new_size > 0, "All paths should set max_new_size"); @@ -495,7 +495,7 @@ // NewSize as the floor, because if NewRatio is overly large, the resulting // size can be too small. desired_new_size = - MIN2(max_new_size, MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize)); + MIN2(max_new_size, MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize)); } _initial_gen0_size = desired_new_size; _max_gen0_size = max_new_size; @@ -551,7 +551,7 @@ FLAG_SET_ERGO(uintx, OldSize, _max_gen1_size); } - _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size); + _min_gen1_size = MIN2((size_t)OldSize, _min_heap_byte_size - _min_gen0_size); _initial_gen1_size = OldSize; }