< prev index next >

src/hotspot/share/opto/macro.cpp

Print this page

        

@@ -689,17 +689,21 @@
       if (UseCompressedOops && !is_java_primitive(bt)) {
         ft = ft->make_narrowoop();
         bt = T_NARROWOOP;
       }
       value = value_from_mem(mem, ctl, bt, ft, adr_type, alloc);
-      assert(value != NULL, "field value should not be null");
-      if (ft->isa_narrowoop()) {
+      if (value != NULL && ft->isa_narrowoop()) {
         assert(UseCompressedOops, "unexpected narrow oop");
         value = transform_later(new DecodeNNode(value, value->get_ptr_type()));
       }
     }
+    if (value != NULL) {
     vt->set_field_value(i, value);
+    } else {
+      // We might have reached the TrackedInitializationLimit
+      return NULL;
+    }
   }
   return vt;
 }
 
 // Check the possibility of scalar replacement.
< prev index next >