2806 hook_memory_on_init(*this, elemidx, minit_in, minit_out); |
2806 hook_memory_on_init(*this, elemidx, minit_in, minit_out); |
2807 } else if (oop_type->isa_instptr()) { |
2807 } else if (oop_type->isa_instptr()) { |
2808 ciInstanceKlass* ik = oop_type->klass()->as_instance_klass(); |
2808 ciInstanceKlass* ik = oop_type->klass()->as_instance_klass(); |
2809 for (int i = 0, len = ik->nof_nonstatic_fields(); i < len; i++) { |
2809 for (int i = 0, len = ik->nof_nonstatic_fields(); i < len; i++) { |
2810 ciField* field = ik->nonstatic_field_at(i); |
2810 ciField* field = ik->nonstatic_field_at(i); |
2811 if (field->offset() >= TrackedInitializationLimit) |
2811 if (field->offset() >= TrackedInitializationLimit * HeapWordSize) |
2812 continue; // do not bother to track really large numbers of fields |
2812 continue; // do not bother to track really large numbers of fields |
2813 // Find (or create) the alias category for this field: |
2813 // Find (or create) the alias category for this field: |
2814 int fieldidx = C->alias_type(field)->index(); |
2814 int fieldidx = C->alias_type(field)->index(); |
2815 hook_memory_on_init(*this, fieldidx, minit_in, minit_out); |
2815 hook_memory_on_init(*this, fieldidx, minit_in, minit_out); |
2816 } |
2816 } |