< prev index next >

src/hotspot/share/opto/macro.cpp

Print this page

        

*** 689,705 **** 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()) { assert(UseCompressedOops, "unexpected narrow oop"); value = transform_later(new DecodeNNode(value, value->get_ptr_type())); } } vt->set_field_value(i, value); } return vt; } // Check the possibility of scalar replacement. --- 689,709 ---- if (UseCompressedOops && !is_java_primitive(bt)) { ft = ft->make_narrowoop(); bt = T_NARROWOOP; } value = value_from_mem(mem, ctl, bt, ft, adr_type, alloc); ! 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 >