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

Print this page

        

*** 26,36 **** --- 26,40 ---- #include "gc_implementation/shared/gcHeapSummary.hpp" #include "gc_implementation/shared/gcTimer.hpp" #include "gc_implementation/shared/gcTrace.hpp" #include "gc_implementation/shared/gcWhen.hpp" #include "gc_implementation/shared/promotionFailedInfo.hpp" + #include "memory/heapInspection.hpp" + #include "memory/iterator.hpp" + #include "trace/traceBackend.hpp" #include "trace/tracing.hpp" + #include "utilities/globalDefinitions.hpp" #ifndef SERIALGC #include "gc_implementation/g1/g1YCTypes.hpp" #endif // All GC dependencies against the trace framework is contained within this file.
*** 103,112 **** --- 107,135 ---- e.set_thread(pf_info.thread()->thread_id()); e.commit(); } } + void GCTracer::send_object_count_after_gc_event(klassOop klass, jlong count, julong total_size) const { + EventObjectCountAfterGC e; + if (e.should_commit()) { + e.set_gcId(_shared_gc_info.id()); + e.set_class(klass); + e.set_count(count); + e.set_totalSize(total_size); + e.commit(); + } + } + + bool GCTracer::should_send_object_count_after_gc_event() const { + #if INCLUDE_TRACE + return Tracing::enabled(EventObjectCountAfterGC::eventId); + #else + return false; + #endif + } + #ifndef SERIALGC void G1NewTracer::send_g1_young_gc_event() { EventGCG1GarbageCollection e(UNTIMED); if (e.should_commit()) { e.set_gcId(_shared_gc_info.id());