src/share/vm/memory/universe.cpp

changeset 5252
3a0774193f71
parent 5251
eaf3742822ec
parent 5237
f2110083203d
child 5295
9f3e3245b50f
     1.1 --- a/src/share/vm/memory/universe.cpp	Mon Jun 17 11:17:49 2013 +0100
     1.2 +++ b/src/share/vm/memory/universe.cpp	Wed Jun 19 11:02:10 2013 +0100
     1.3 @@ -822,12 +822,14 @@
     1.4        // keep the Universe::narrow_oop_base() set in Universe::reserve_heap()
     1.5        Universe::set_narrow_oop_shift(LogMinObjAlignmentInBytes);
     1.6        if (verbose) {
     1.7 -        tty->print(", Compressed Oops with base: "PTR_FORMAT, Universe::narrow_oop_base());
     1.8 +        tty->print(", %s: "PTR_FORMAT,
     1.9 +            narrow_oop_mode_to_string(HeapBasedNarrowOop),
    1.10 +            Universe::narrow_oop_base());
    1.11        }
    1.12      } else {
    1.13        Universe::set_narrow_oop_base(0);
    1.14        if (verbose) {
    1.15 -        tty->print(", zero based Compressed Oops");
    1.16 +        tty->print(", %s", narrow_oop_mode_to_string(ZeroBasedNarrowOop));
    1.17        }
    1.18  #ifdef _WIN64
    1.19        if (!Universe::narrow_oop_use_implicit_null_checks()) {
    1.20 @@ -842,7 +844,7 @@
    1.21        } else {
    1.22          Universe::set_narrow_oop_shift(0);
    1.23          if (verbose) {
    1.24 -          tty->print(", 32-bits Oops");
    1.25 +          tty->print(", %s", narrow_oop_mode_to_string(UnscaledNarrowOop));
    1.26          }
    1.27        }
    1.28      }
    1.29 @@ -949,6 +951,33 @@
    1.30  }
    1.31  
    1.32  
    1.33 +const char* Universe::narrow_oop_mode_to_string(Universe::NARROW_OOP_MODE mode) {
    1.34 +  switch (mode) {
    1.35 +    case UnscaledNarrowOop:
    1.36 +      return "32-bits Oops";
    1.37 +    case ZeroBasedNarrowOop:
    1.38 +      return "zero based Compressed Oops";
    1.39 +    case HeapBasedNarrowOop:
    1.40 +      return "Compressed Oops with base";
    1.41 +  }
    1.42 +
    1.43 +  ShouldNotReachHere();
    1.44 +  return "";
    1.45 +}
    1.46 +
    1.47 +
    1.48 +Universe::NARROW_OOP_MODE Universe::narrow_oop_mode() {
    1.49 +  if (narrow_oop_base() != 0) {
    1.50 +    return HeapBasedNarrowOop;
    1.51 +  }
    1.52 +
    1.53 +  if (narrow_oop_shift() != 0) {
    1.54 +    return ZeroBasedNarrowOop;
    1.55 +  }
    1.56 +
    1.57 +  return UnscaledNarrowOop;
    1.58 +}
    1.59 +
    1.60  
    1.61  void universe2_init() {
    1.62    EXCEPTION_MARK;

mercurial