equal
deleted
inserted
replaced
121 } |
121 } |
122 } |
122 } |
123 |
123 |
124 KlassInfoEntry* KlassInfoBucket::lookup(Klass* const k) { |
124 KlassInfoEntry* KlassInfoBucket::lookup(Klass* const k) { |
125 // Can happen if k is an archived class that we haven't loaded yet. |
125 // Can happen if k is an archived class that we haven't loaded yet. |
126 if (k->java_mirror() == NULL) { |
126 if (k->java_mirror_no_keepalive() == NULL) { |
127 return NULL; |
127 return NULL; |
128 } |
128 } |
129 |
129 |
130 KlassInfoEntry* elt = _list; |
130 KlassInfoEntry* elt = _list; |
131 while (elt != NULL) { |
131 while (elt != NULL) { |
717 |
717 |
718 size_t HeapInspection::populate_table(KlassInfoTable* cit, BoolObjectClosure *filter) { |
718 size_t HeapInspection::populate_table(KlassInfoTable* cit, BoolObjectClosure *filter) { |
719 ResourceMark rm; |
719 ResourceMark rm; |
720 |
720 |
721 RecordInstanceClosure ric(cit, filter); |
721 RecordInstanceClosure ric(cit, filter); |
722 Universe::heap()->object_iterate(&ric); |
722 Universe::heap()->safe_object_iterate(&ric); |
723 return ric.missed_count(); |
723 return ric.missed_count(); |
724 } |
724 } |
725 |
725 |
726 void HeapInspection::heap_inspection(outputStream* st) { |
726 void HeapInspection::heap_inspection(outputStream* st) { |
727 ResourceMark rm; |
727 ResourceMark rm; |