136
137 private:
138 void send_garbage_collection_event() const;
139 void send_gc_heap_summary_event(GCWhen::Type when, const GCHeapSummary& heap_summary) const;
140 void send_meta_space_summary_event(GCWhen::Type when, const MetaspaceSummary& meta_space_summary) const;
141 void send_metaspace_chunk_free_list_summary(GCWhen::Type when, Metaspace::MetadataType mdtype, const MetaspaceChunkFreeListSummary& summary) const;
142 void send_reference_stats_event(ReferenceType type, size_t count) const;
143 void send_phase_events(TimePartitions* time_partitions) const;
144 };
145
146 class YoungGCTracer : public GCTracer {
147 static const uint UNSET_TENURING_THRESHOLD = (uint) -1;
148
149 uint _tenuring_threshold;
150
151 protected:
152 YoungGCTracer(GCName name) : GCTracer(name), _tenuring_threshold(UNSET_TENURING_THRESHOLD) {}
153 virtual void report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions);
154
155 public:
156 void report_promotion_failed(const PromotionFailedInfo& pf_info);
157 void report_tenuring_threshold(const uint tenuring_threshold);
158
159 /*
160 * Methods for reporting Promotion in new or outside PLAB Events.
161 *
162 * The object age is always required as it is not certain that the mark word
163 * of the oop can be trusted at this stage.
164 *
165 * obj_size is the size of the promoted object in bytes.
166 *
167 * tenured should be true if the object has been promoted to the old
168 * space during this GC, if the object is copied to survivor space
169 * from young space or survivor space (aging) tenured should be false.
170 *
171 * plab_size is the size of the newly allocated PLAB in bytes.
172 */
173 bool should_report_promotion_in_new_plab_event() const;
174 bool should_report_promotion_outside_plab_event() const;
175 void report_promotion_in_new_plab_event(Klass* klass, size_t obj_size,
176 uint age, bool tenured,
|
136
137 private:
138 void send_garbage_collection_event() const;
139 void send_gc_heap_summary_event(GCWhen::Type when, const GCHeapSummary& heap_summary) const;
140 void send_meta_space_summary_event(GCWhen::Type when, const MetaspaceSummary& meta_space_summary) const;
141 void send_metaspace_chunk_free_list_summary(GCWhen::Type when, Metaspace::MetadataType mdtype, const MetaspaceChunkFreeListSummary& summary) const;
142 void send_reference_stats_event(ReferenceType type, size_t count) const;
143 void send_phase_events(TimePartitions* time_partitions) const;
144 };
145
146 class YoungGCTracer : public GCTracer {
147 static const uint UNSET_TENURING_THRESHOLD = (uint) -1;
148
149 uint _tenuring_threshold;
150
151 protected:
152 YoungGCTracer(GCName name) : GCTracer(name), _tenuring_threshold(UNSET_TENURING_THRESHOLD) {}
153 virtual void report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions);
154
155 public:
156 void report_promotion_failed(const PromotionFailedInfo& pf_info) const;
157 void report_tenuring_threshold(const uint tenuring_threshold);
158
159 /*
160 * Methods for reporting Promotion in new or outside PLAB Events.
161 *
162 * The object age is always required as it is not certain that the mark word
163 * of the oop can be trusted at this stage.
164 *
165 * obj_size is the size of the promoted object in bytes.
166 *
167 * tenured should be true if the object has been promoted to the old
168 * space during this GC, if the object is copied to survivor space
169 * from young space or survivor space (aging) tenured should be false.
170 *
171 * plab_size is the size of the newly allocated PLAB in bytes.
172 */
173 bool should_report_promotion_in_new_plab_event() const;
174 bool should_report_promotion_outside_plab_event() const;
175 void report_promotion_in_new_plab_event(Klass* klass, size_t obj_size,
176 uint age, bool tenured,
|