< prev index next >

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

Print this page
rev 8823 : imported patch 8133530-add-jfr-event-for-evacuation
rev 8824 : imported patch erik-comments

@@ -236,40 +236,37 @@
 }
 
 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();
   }    
 }
 
 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) {
   TraceStructVirtualSpace space;
   space.set_start((TraceAddress)summary.start());
< prev index next >