src/share/vm/memory/universe.cpp

changeset 8188
92a6cfbf2d94
parent 7419
d3f3f7677537
child 8213
88ae10297731
     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();

mercurial