hotspot/src/share/vm/opto/lcm.cpp
changeset 17384 4e6ea5fa04ad
parent 15871 b04dd94da4e6
child 19279 4be3c2e6663c
child 22807 1cf02ef734e2
equal deleted inserted replaced
17383:3665c0901a0d 17384:4e6ea5fa04ad
   217             MacroAssembler::needs_explicit_null_check(offset) )
   217             MacroAssembler::needs_explicit_null_check(offset) )
   218           continue;             // Give up if offset is beyond page size
   218           continue;             // Give up if offset is beyond page size
   219         // cannot reason about it; is probably not implicit null exception
   219         // cannot reason about it; is probably not implicit null exception
   220       } else {
   220       } else {
   221         const TypePtr* tptr;
   221         const TypePtr* tptr;
   222         if (UseCompressedOops && Universe::narrow_oop_shift() == 0) {
   222         if (UseCompressedOops && (Universe::narrow_oop_shift() == 0 ||
       
   223                                   Universe::narrow_klass_shift() == 0)) {
   223           // 32-bits narrow oop can be the base of address expressions
   224           // 32-bits narrow oop can be the base of address expressions
   224           tptr = base->bottom_type()->make_ptr();
   225           tptr = base->get_ptr_type();
   225         } else {
   226         } else {
   226           // only regular oops are expected here
   227           // only regular oops are expected here
   227           tptr = base->bottom_type()->is_ptr();
   228           tptr = base->bottom_type()->is_ptr();
   228         }
   229         }
   229         // Give up if offset is not a compile-time constant
   230         // Give up if offset is not a compile-time constant