--- a/hotspot/src/share/vm/opto/lcm.cpp Wed May 08 15:08:01 2013 -0700
+++ b/hotspot/src/share/vm/opto/lcm.cpp Thu May 09 17:28:04 2013 -0700
@@ -219,9 +219,10 @@
// cannot reason about it; is probably not implicit null exception
} else {
const TypePtr* tptr;
- if (UseCompressedOops && Universe::narrow_oop_shift() == 0) {
+ if (UseCompressedOops && (Universe::narrow_oop_shift() == 0 ||
+ Universe::narrow_klass_shift() == 0)) {
// 32-bits narrow oop can be the base of address expressions
- tptr = base->bottom_type()->make_ptr();
+ tptr = base->get_ptr_type();
} else {
// only regular oops are expected here
tptr = base->bottom_type()->is_ptr();