--- old/src/share/vm/gc/shared/gcTrace.hpp 2015-08-17 12:54:49.053250726 +0200 +++ new/src/share/vm/gc/shared/gcTrace.hpp 2015-08-17 12:54:48.975248391 +0200 @@ -37,7 +37,7 @@ #include "utilities/ticks.hpp" #if INCLUDE_ALL_GCS #include "gc/g1/g1YCTypes.hpp" -#include "gcHeapSummary.hpp" +#include "gc/shared/gcHeapSummary.hpp" #endif class EvacuationInfo; @@ -46,6 +46,7 @@ class MetaspaceSummary; class PSHeapSummary; class G1HeapSummary; +struct TraceStructG1EvacStats; class ReferenceProcessorStats; class TimePartitions; class BoolObjectClosure; @@ -266,6 +267,8 @@ void send_young_evacuation_statistics(const G1EvacSummary& summary) const; void send_old_evacuation_statistics(const G1EvacSummary& summary) const; + + TraceStructG1EvacStats create_g1_evacstats(const G1EvacSummary& summary) const; }; #endif --- old/src/share/vm/gc/shared/gcTraceSend.cpp 2015-08-17 12:54:49.500264111 +0200 +++ new/src/share/vm/gc/shared/gcTraceSend.cpp 2015-08-17 12:54:49.421261746 +0200 @@ -238,16 +238,7 @@ void G1NewTracer::send_young_evacuation_statistics(const G1EvacSummary& summary) const { EventGCG1EvacuationYoungStatistics surv_evt; if (surv_evt.should_commit()) { - surv_evt.set_gcId(GCId::peek().id()); - surv_evt.set_allocated(summary.allocated() * HeapWordSize); - surv_evt.set_wasted(summary.wasted() * HeapWordSize); - surv_evt.set_used(summary.used() * HeapWordSize); - surv_evt.set_undoWaste(summary.undo_wasted() * HeapWordSize); - surv_evt.set_regionEndWaste(summary.region_end_waste() * HeapWordSize); - surv_evt.set_regionsRefilled(summary.regions_filled()); - surv_evt.set_directAllocated(summary.direct_allocated() * HeapWordSize); - surv_evt.set_failureUsed(summary.failure_used() * HeapWordSize); - surv_evt.set_failureWaste(summary.failure_waste() * HeapWordSize); + surv_evt.set_stats(create_g1_evacstats(summary)); surv_evt.commit(); } } @@ -255,19 +246,25 @@ void G1NewTracer::send_old_evacuation_statistics(const G1EvacSummary& summary) const { EventGCG1EvacuationOldStatistics old_evt; if (old_evt.should_commit()) { - old_evt.set_gcId(GCId::peek().id()); - old_evt.set_allocated(summary.allocated() * HeapWordSize); - old_evt.set_wasted(summary.wasted() * HeapWordSize); - old_evt.set_used(summary.used() * HeapWordSize); - old_evt.set_undoWaste(summary.undo_wasted() * HeapWordSize); - old_evt.set_regionEndWaste(summary.region_end_waste() * HeapWordSize); - old_evt.set_regionsRefilled(summary.regions_filled()); - old_evt.set_directAllocated(summary.direct_allocated() * HeapWordSize); - old_evt.set_failureUsed(summary.failure_used() * HeapWordSize); - old_evt.set_failureWaste(summary.failure_waste() * HeapWordSize); + old_evt.set_stats(create_g1_evacstats(summary)); old_evt.commit(); } } + +TraceStructG1EvacStats G1NewTracer::create_g1_evacstats(const G1EvacSummary& summary) const { + TraceStructG1EvacStats s; + s.set_gcId(_shared_gc_info.gc_id().id()); + s.set_allocated(summary.allocated() * HeapWordSize); + s.set_wasted(summary.wasted() * HeapWordSize); + s.set_used(summary.used() * HeapWordSize); + s.set_undoWaste(summary.undo_wasted() * HeapWordSize); + s.set_regionEndWaste(summary.region_end_waste() * HeapWordSize); + s.set_regionsRefilled(summary.regions_filled()); + s.set_directAllocated(summary.direct_allocated() * HeapWordSize); + s.set_failureUsed(summary.failure_used() * HeapWordSize); + s.set_failureWaste(summary.failure_waste() * HeapWordSize); + return s; +} #endif static TraceStructVirtualSpace to_trace_struct(const VirtualSpaceSummary& summary) { --- old/src/share/vm/trace/trace.xml 2015-08-17 12:54:49.949277556 +0200 +++ new/src/share/vm/trace/trace.xml 2015-08-17 12:54:49.869275161 +0200 @@ -346,8 +346,7 @@ - + @@ -358,20 +357,16 @@ + + + + - - - - - - - - - - +