236 #if INCLUDE_ALL_GCS
237 class G1MMUTracer : public AllStatic {
238 static void send_g1_mmu_event(double timeSlice, double gcTime, double maxTime);
239
240 public:
241 static void report_mmu(double timeSlice, double gcTime, double maxTime);
242 };
243
244 class G1NewTracer : public YoungGCTracer {
245 G1YoungGCInfo _g1_young_gc_info;
246
247 public:
248 G1NewTracer() : YoungGCTracer(G1New) {}
249
250 void report_yc_type(G1YCType type);
251 void report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions);
252 void report_evacuation_info(EvacuationInfo* info);
253 void report_evacuation_failed(EvacuationFailedInfo& ef_info);
254
255 void report_evacuation_statistics(const G1EvacSummary& young_summary, const G1EvacSummary& old_summary) const;
256 private:
257 void send_g1_young_gc_event();
258 void send_evacuation_info_event(EvacuationInfo* info);
259 void send_evacuation_failed_event(const EvacuationFailedInfo& ef_info) const;
260
261 void send_young_evacuation_statistics(const G1EvacSummary& summary) const;
262 void send_old_evacuation_statistics(const G1EvacSummary& summary) const;
263 };
264 #endif
265
266 class CMSTracer : public OldGCTracer {
267 public:
268 CMSTracer() : OldGCTracer(ConcurrentMarkSweep) {}
269 };
270
271 class G1OldTracer : public OldGCTracer {
272 public:
273 G1OldTracer() : OldGCTracer(G1Old) {}
274 };
275
276 #endif // SHARE_VM_GC_SHARED_GCTRACE_HPP
|
236 #if INCLUDE_ALL_GCS
237 class G1MMUTracer : public AllStatic {
238 static void send_g1_mmu_event(double timeSlice, double gcTime, double maxTime);
239
240 public:
241 static void report_mmu(double timeSlice, double gcTime, double maxTime);
242 };
243
244 class G1NewTracer : public YoungGCTracer {
245 G1YoungGCInfo _g1_young_gc_info;
246
247 public:
248 G1NewTracer() : YoungGCTracer(G1New) {}
249
250 void report_yc_type(G1YCType type);
251 void report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions);
252 void report_evacuation_info(EvacuationInfo* info);
253 void report_evacuation_failed(EvacuationFailedInfo& ef_info);
254
255 void report_evacuation_statistics(const G1EvacSummary& young_summary, const G1EvacSummary& old_summary) const;
256
257 void report_basic_ihop_statistics(size_t threshold,
258 size_t target_occupancy,
259 size_t current_occupancy,
260 size_t last_allocation_size,
261 double last_allocation_duration,
262 double last_marking_length);
263 void report_adaptive_ihop_statistics(size_t additional_buffer_size,
264 double predicted_allocation_rate,
265 double predicted_marking_length,
266 bool prediction_active);
267 private:
268 void send_g1_young_gc_event();
269 void send_evacuation_info_event(EvacuationInfo* info);
270 void send_evacuation_failed_event(const EvacuationFailedInfo& ef_info) const;
271
272 void send_young_evacuation_statistics(const G1EvacSummary& summary) const;
273 void send_old_evacuation_statistics(const G1EvacSummary& summary) const;
274
275 void send_basic_ihop_statistics(size_t threshold,
276 size_t target_occupancy,
277 size_t current_occupancy,
278 size_t last_allocation_size,
279 double last_allocation_duration,
280 double last_marking_length);
281 void send_adaptive_ihop_statistics(size_t additional_buffer_size,
282 double predicted_allocation_rate,
283 double predicted_marking_length,
284 bool prediction_active);
285 };
286 #endif
287
288 class CMSTracer : public OldGCTracer {
289 public:
290 CMSTracer() : OldGCTracer(ConcurrentMarkSweep) {}
291 };
292
293 class G1OldTracer : public OldGCTracer {
294 public:
295 G1OldTracer() : OldGCTracer(G1Old) {}
296 };
297
298 #endif // SHARE_VM_GC_SHARED_GCTRACE_HPP
|