src/share/vm/gc_implementation/shared/gcTrace.cpp

Print this page
rev 4470 : 8011425: NPE in TestObjectCountAfterGCEvent.java on Linux32

*** 95,107 **** --- 95,115 ---- GCTracer* _gc_tracer; public: ObjectCountEventSenderClosure(GCTracer* gc_tracer) : _gc_tracer(gc_tracer) {} private: void do_cinfo(KlassInfoEntry* entry) { + if (is_visible_klass(entry->klass())) { _gc_tracer->send_object_count_after_gc_event(entry->klass(), entry->count(), entry->words() * BytesPerWord); } + } + + // Do not expose internal implementation specific classes + bool is_visible_klass(klassOop k) { + return k->klass_part()->oop_is_instance() || + (k->klass_part()->oop_is_array() && k != Universe::systemObjArrayKlassObj()); + } }; void GCTracer::report_object_count_after_gc(BoolObjectClosure *is_alive_cl) { if (should_send_object_count_after_gc_event()) { ResourceMark rm;