< prev index next >
src/share/vm/opto/graphKit.cpp
Print this page
rev 10517 : Tobias' flattened array
rev 10520 : zeroing elimination fix
@@ -3393,11 +3393,11 @@
assert(minit_out->is_Proj() && minit_out->in(0) == init, "");
if (oop_type->isa_aryptr()) {
const TypePtr* telemref = oop_type->add_offset(Type::OffsetBot);
int elemidx = C->get_alias_index(telemref);
hook_memory_on_init(*this, elemidx, minit_in, minit_out);
- } else if (oop_type->isa_instptr()) {
+ } else if (oop_type->isa_instptr() || oop_type->isa_valuetypeptr()) {
ciInstanceKlass* ik = oop_type->klass()->as_instance_klass();
for (int i = 0, len = ik->nof_nonstatic_fields(); i < len; i++) {
ciField* field = ik->nonstatic_field_at(i);
if (field->offset() >= TrackedInitializationLimit * HeapWordSize)
continue; // do not bother to track really large numbers of fields
< prev index next >