Fri, 14 Aug 2009 22:11:18 -0700
Merge
1.1 --- a/src/share/vm/memory/universe.cpp Fri Aug 14 15:55:26 2009 -0700 1.2 +++ b/src/share/vm/memory/universe.cpp Fri Aug 14 22:11:18 2009 -0700 1.3 @@ -749,7 +749,10 @@ 1.4 assert(mode == UnscaledNarrowOop || 1.5 mode == ZeroBasedNarrowOop || 1.6 mode == HeapBasedNarrowOop, "mode is invalid"); 1.7 - 1.8 + // Return specified base for the first request. 1.9 + if (!FLAG_IS_DEFAULT(HeapBaseMinAddress) && (mode == UnscaledNarrowOop)) { 1.10 + return (char*)HeapBaseMinAddress; 1.11 + } 1.12 const size_t total_size = heap_size + HeapBaseMinAddress; 1.13 if (total_size <= OopEncodingHeapMax && (mode != HeapBasedNarrowOop)) { 1.14 if (total_size <= NarrowOopHeapMax && (mode == UnscaledNarrowOop) && 1.15 @@ -857,7 +860,7 @@ 1.16 // Can't reserve heap below 4Gb. 1.17 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 1.18 } else { 1.19 - assert(Universe::narrow_oop_shift() == 0, "use unscaled narrow oop"); 1.20 + Universe::set_narrow_oop_shift(0); 1.21 if (PrintCompressedOopsMode) { 1.22 tty->print(", 32-bits Oops"); 1.23 }