1.1 --- a/src/share/vm/memory/universe.cpp Mon Dec 07 13:25:13 2015 +0100 1.2 +++ b/src/share/vm/memory/universe.cpp Tue Dec 08 14:23:56 2015 +0000 1.3 @@ -847,12 +847,6 @@ 1.4 // See needs_explicit_null_check. 1.5 // Only set the heap base for compressed oops because it indicates 1.6 // compressed oops for pstack code. 1.7 - bool verbose = PrintCompressedOopsMode || (PrintMiscellaneous && Verbose); 1.8 - if (verbose) { 1.9 - tty->cr(); 1.10 - tty->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT " MB", 1.11 - Universe::heap()->base(), Universe::heap()->reserved_region().byte_size()/M); 1.12 - } 1.13 if (((uint64_t)Universe::heap()->reserved_region().end() > OopEncodingHeapMax)) { 1.14 // Can't reserve heap below 32Gb. 1.15 // keep the Universe::narrow_oop_base() set in Universe::reserve_heap() 1.16 @@ -862,16 +856,8 @@ 1.17 // are decoded so that NULL is preserved, so this page will not be accessed. 1.18 Universe::set_narrow_oop_use_implicit_null_checks(false); 1.19 #endif 1.20 - if (verbose) { 1.21 - tty->print(", %s: "PTR_FORMAT, 1.22 - narrow_oop_mode_to_string(HeapBasedNarrowOop), 1.23 - Universe::narrow_oop_base()); 1.24 - } 1.25 } else { 1.26 Universe::set_narrow_oop_base(0); 1.27 - if (verbose) { 1.28 - tty->print(", %s", narrow_oop_mode_to_string(ZeroBasedNarrowOop)); 1.29 - } 1.30 #ifdef _WIN64 1.31 if (!Universe::narrow_oop_use_implicit_null_checks()) { 1.32 // Don't need guard page for implicit checks in indexed addressing 1.33 @@ -884,17 +870,14 @@ 1.34 Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes); 1.35 } else { 1.36 Universe::set_narrow_oop_shift(0); 1.37 - if (verbose) { 1.38 - tty->print(", %s", narrow_oop_mode_to_string(UnscaledNarrowOop)); 1.39 - } 1.40 } 1.41 } 1.42 1.43 - if (verbose) { 1.44 - tty->cr(); 1.45 - tty->cr(); 1.46 + Universe::set_narrow_ptrs_base(Universe::narrow_oop_base()); 1.47 + 1.48 + if (PrintCompressedOopsMode || (PrintMiscellaneous && Verbose)) { 1.49 + Universe::print_compressed_oops_mode(); 1.50 } 1.51 - Universe::set_narrow_ptrs_base(Universe::narrow_oop_base()); 1.52 } 1.53 // Universe::narrow_oop_base() is one page below the heap. 1.54 assert((intptr_t)Universe::narrow_oop_base() <= (intptr_t)(Universe::heap()->base() - 1.55 @@ -915,6 +898,24 @@ 1.56 return JNI_OK; 1.57 } 1.58 1.59 +void Universe::print_compressed_oops_mode() { 1.60 + tty->cr(); 1.61 + tty->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT " MB", 1.62 + Universe::heap()->base(), Universe::heap()->reserved_region().byte_size()/M); 1.63 + 1.64 + tty->print(", Compressed Oops mode: %s", narrow_oop_mode_to_string(narrow_oop_mode())); 1.65 + 1.66 + if (Universe::narrow_oop_base() != 0) { 1.67 + tty->print(":" PTR_FORMAT, Universe::narrow_oop_base()); 1.68 + } 1.69 + 1.70 + if (Universe::narrow_oop_shift() != 0) { 1.71 + tty->print(", Oop shift amount: %d", Universe::narrow_oop_shift()); 1.72 + } 1.73 + 1.74 + tty->cr(); 1.75 + tty->cr(); 1.76 +} 1.77 1.78 // Reserve the Java heap, which is now the same for all GCs. 1.79 ReservedSpace Universe::reserve_heap(size_t heap_size, size_t alignment) { 1.80 @@ -984,11 +985,11 @@ 1.81 const char* Universe::narrow_oop_mode_to_string(Universe::NARROW_OOP_MODE mode) { 1.82 switch (mode) { 1.83 case UnscaledNarrowOop: 1.84 - return "32-bits Oops"; 1.85 + return "32-bit"; 1.86 case ZeroBasedNarrowOop: 1.87 - return "zero based Compressed Oops"; 1.88 + return "Zero based"; 1.89 case HeapBasedNarrowOop: 1.90 - return "Compressed Oops with base"; 1.91 + return "Non-zero based"; 1.92 } 1.93 1.94 ShouldNotReachHere();