< 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 >