--- old/src/share/vm/gc_implementation/shared/gcTraceSend.cpp 2020-01-16 16:56:30.335470956 +0300 +++ new/src/share/vm/gc_implementation/shared/gcTraceSend.cpp 2020-01-16 16:56:30.287472504 +0300 @@ -23,7 +23,9 @@ */ #include "precompiled.hpp" +#if INCLUDE_JFR #include "jfr/jfrEvents.hpp" +#endif #include "gc_implementation/shared/gcHeapSummary.hpp" #include "gc_implementation/shared/gcTimer.hpp" #include "gc_implementation/shared/gcTrace.hpp" @@ -40,6 +42,7 @@ typedef uintptr_t TraceAddress; void GCTracer::send_garbage_collection_event() const { +#if INCLUDE_JFR EventGarbageCollection event(UNTIMED); if (event.should_commit()) { event.set_gcId(_shared_gc_info.gc_id().id()); @@ -51,9 +54,11 @@ event.set_endtime(_shared_gc_info.end_timestamp()); event.commit(); } +#endif } void GCTracer::send_reference_stats_event(ReferenceType type, size_t count) const { +#if INCLUDE_JFR EventGCReferenceStatistics e; if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -61,10 +66,12 @@ e.set_count(count); e.commit(); } +#endif } void GCTracer::send_metaspace_chunk_free_list_summary(GCWhen::Type when, Metaspace::MetadataType mdtype, const MetaspaceChunkFreeListSummary& summary) const { +#if INCLUDE_JFR EventMetaspaceChunkFreeListSummary e; if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -85,9 +92,11 @@ e.commit(); } +#endif } void ParallelOldTracer::send_parallel_old_event() const { +#if INCLUDE_JFR EventParallelOldGarbageCollection e(UNTIMED); if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -96,9 +105,11 @@ e.set_endtime(_shared_gc_info.end_timestamp()); e.commit(); } +#endif } void YoungGCTracer::send_young_gc_event() const { +#if INCLUDE_JFR EventYoungGarbageCollection e(UNTIMED); if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -107,20 +118,29 @@ e.set_endtime(_shared_gc_info.end_timestamp()); e.commit(); } +#endif } bool YoungGCTracer::should_send_promotion_in_new_plab_event() const { +#if INCLUDE_JFR return EventPromoteObjectInNewPLAB::is_enabled(); + #else + return false; +#endif } bool YoungGCTracer::should_send_promotion_outside_plab_event() const { +#if INCLUDE_JFR return EventPromoteObjectOutsidePLAB::is_enabled(); +#else + return false; +#endif } void YoungGCTracer::send_promotion_in_new_plab_event(Klass* klass, size_t obj_size, uint age, bool tenured, size_t plab_size) const { - +#if INCLUDE_JFR EventPromoteObjectInNewPLAB event; if (event.should_commit()) { event.set_gcId(_shared_gc_info.gc_id().id()); @@ -131,11 +151,12 @@ event.set_plabSize(plab_size); event.commit(); } +#endif } void YoungGCTracer::send_promotion_outside_plab_event(Klass* klass, size_t obj_size, uint age, bool tenured) const { - +#if INCLUDE_JFR EventPromoteObjectOutsidePLAB event; if (event.should_commit()) { event.set_gcId(_shared_gc_info.gc_id().id()); @@ -145,9 +166,11 @@ event.set_tenuringAge(age); event.commit(); } +#endif } void OldGCTracer::send_old_gc_event() const { +#if INCLUDE_JFR EventOldGarbageCollection e(UNTIMED); if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -155,8 +178,10 @@ e.set_endtime(_shared_gc_info.end_timestamp()); e.commit(); } +#endif } +#if INCLUDE_JFR static JfrStructCopyFailed to_struct(const CopyFailedInfo& cf_info) { JfrStructCopyFailed failed_info; failed_info.set_objectCount(cf_info.failed_count()); @@ -165,8 +190,10 @@ failed_info.set_totalSize(cf_info.total_size()); return failed_info; } +#endif void YoungGCTracer::send_promotion_failed_event(const PromotionFailedInfo& pf_info) const { +#if INCLUDE_JFR EventPromotionFailed e; if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -174,19 +201,23 @@ e.set_thread(pf_info.thread()->thread_id()); e.commit(); } +#endif } // Common to CMS and G1 void OldGCTracer::send_concurrent_mode_failure_event() { +#if INCLUDE_JFR EventConcurrentModeFailure e; if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); e.commit(); } +#endif } #if INCLUDE_ALL_GCS void G1NewTracer::send_g1_young_gc_event() { +#if INCLUDE_JFR EventG1GarbageCollection e(UNTIMED); if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -195,9 +226,11 @@ e.set_endtime(_shared_gc_info.end_timestamp()); e.commit(); } +#endif } void G1MMUTracer::send_g1_mmu_event(double time_slice_ms, double gc_time_ms, double max_time_ms) { +#if INCLUDE_JFR EventG1MMU e; if (e.should_commit()) { e.set_gcId(GCId::peek().id()); @@ -206,9 +239,11 @@ e.set_pauseTarget((s8)max_time_ms); e.commit(); } +#endif } void G1NewTracer::send_evacuation_info_event(EvacuationInfo* info) { +#if INCLUDE_JFR EventEvacuationInformation e; if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -222,15 +257,18 @@ e.set_regionsFreed(info->regions_freed()); e.commit(); } +#endif } void G1NewTracer::send_evacuation_failed_event(const EvacuationFailedInfo& ef_info) const { +#if INCLUDE_JFR EventEvacuationFailed e; if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); e.set_evacuationFailed(to_struct(ef_info)); e.commit(); } +#endif } // XXX @@ -311,6 +349,7 @@ #endif // INCLUDE_ALL_GCS +#if INCLUDE_JFR static JfrStructVirtualSpace to_struct(const VirtualSpaceSummary& summary) { JfrStructVirtualSpace space; space.set_start((TraceAddress)summary.start()); @@ -329,6 +368,7 @@ space.set_size(summary.size()); return space; } +#endif class GCHeapSummaryEventSender : public GCHeapSummaryVisitor { GCId _gc_id; @@ -337,6 +377,7 @@ GCHeapSummaryEventSender(GCId gc_id, GCWhen::Type when) : _gc_id(gc_id), _when(when) {} void visit(const GCHeapSummary* heap_summary) const { +#if INCLUDE_JFR const VirtualSpaceSummary& heap_space = heap_summary->heap(); EventGCHeapSummary e; @@ -347,9 +388,11 @@ e.set_heapUsed(heap_summary->used()); e.commit(); } +#endif } void visit(const G1HeapSummary* g1_heap_summary) const { +#if INCLUDE_JFR visit((GCHeapSummary*)g1_heap_summary); EventG1HeapSummary e; @@ -362,9 +405,11 @@ e.set_numberOfRegions(g1_heap_summary->numberOfRegions()); e.commit(); } +#endif } void visit(const PSHeapSummary* ps_heap_summary) const { +#if INCLUDE_JFR visit((GCHeapSummary*)ps_heap_summary); const VirtualSpaceSummary& old_summary = ps_heap_summary->old(); @@ -387,6 +432,7 @@ e.set_toSpace(to_struct(ps_heap_summary->to())); e.commit(); } +#endif } }; @@ -395,6 +441,7 @@ heap_summary.accept(&visitor); } +#if INCLUDE_JFR static JfrStructMetaspaceSizes to_struct(const MetaspaceSizes& sizes) { JfrStructMetaspaceSizes meta_sizes; @@ -404,8 +451,10 @@ return meta_sizes; } +#endif void GCTracer::send_meta_space_summary_event(GCWhen::Type when, const MetaspaceSummary& meta_space_summary) const { +#if INCLUDE_JFR EventMetaspaceSummary e; if (e.should_commit()) { e.set_gcId(_shared_gc_info.gc_id().id()); @@ -416,6 +465,7 @@ e.set_classSpace(to_struct(meta_space_summary.class_space())); e.commit(); } +#endif } class PhaseSender : public PhaseVisitor { @@ -425,6 +475,7 @@ template void send_phase(GCPhase* phase) { +#if INCLUDE_JFR T event(UNTIMED); if (event.should_commit()) { event.set_gcId(_gc_id.id()); @@ -433,6 +484,7 @@ event.set_endtime(phase->end()); event.commit(); } +#endif } void visit(GCPhase* pause) { ShouldNotReachHere(); } @@ -440,6 +492,7 @@ void visit(PausePhase* pause) { assert(PhasesStack::PHASE_LEVELS == 5, "Need more event types"); +#if INCLUDE_JFR switch (pause->level()) { case 0: send_phase(pause); break; case 1: send_phase(pause); break; @@ -447,6 +500,7 @@ case 3: send_phase(pause); break; default: /* Ignore sending this phase */ break; } +#endif } };