diff -r c63b928b212b -r 65a8ff39a6da src/share/vm/gc_implementation/g1/heapRegion.hpp --- a/src/share/vm/gc_implementation/g1/heapRegion.hpp Mon Sep 12 16:09:50 2011 +0200 +++ b/src/share/vm/gc_implementation/g1/heapRegion.hpp Wed Oct 05 08:44:10 2011 -0700 @@ -346,16 +346,12 @@ G1BlockOffsetSharedArray* sharedOffsetArray, MemRegion mr, bool is_zeroed); - static int LogOfHRGrainBytes; - static int LogOfHRGrainWords; - // The normal type of these should be size_t. However, they used to - // be members of an enum before and they are assumed by the - // compilers to be ints. To avoid going and fixing all their uses, - // I'm declaring them as ints. I'm not anticipating heap region - // sizes to reach anywhere near 2g, so using an int here is safe. - static int GrainBytes; - static int GrainWords; - static int CardsPerRegion; + static int LogOfHRGrainBytes; + static int LogOfHRGrainWords; + + static size_t GrainBytes; + static size_t GrainWords; + static size_t CardsPerRegion; static size_t align_up_to_region_byte_size(size_t sz) { return (sz + (size_t) GrainBytes - 1) &