src/share/vm/gc_implementation/shared/gcTrace.cpp
Print this page
rev 4470 : 8011425: NPE in TestObjectCountAfterGCEvent.java on Linux32
@@ -95,13 +95,21 @@
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;