diff src/share/vm/opto/lcm.cpp @ 10279:70120f47d403

8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis() Summary: Add NULL checks and asserts for Type::make_ptr() returned value. Reviewed-by: twisti
author kvn
date Thu, 09 May 2013 17:28:04 -0700
parents 571076d3c79d
children d1034bd8cefc d2907f74462e
line wrap: on
line diff
--- a/src/share/vm/opto/lcm.cpp	Wed May 08 15:08:01 2013 -0700
+++ b/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();