224 void update_rs_lengths_prediction();
225 void update_rs_lengths_prediction(size_t prediction);
226
227 // Check whether a given young length (young_length) fits into the
228 // given target pause time and whether the prediction for the amount
229 // of objects to be copied for the given length will fit into the
230 // given free space (expressed by base_free_regions). It is used by
231 // calculate_young_list_target_length().
232 bool predict_will_fit(uint young_length, double base_time_ms,
233 uint base_free_regions, double target_pause_time_ms) const;
234
235 public:
236 size_t pending_cards() const { return _pending_cards; }
237
238 uint calc_min_old_cset_length() const;
239 uint calc_max_old_cset_length() const;
240
241 // Returns the given amount of reclaimable bytes (that represents
242 // the amount of reclaimable space still to be collected) as a
243 // percentage of the current heap capacity.
244 double reclaimable_bytes_perc(size_t reclaimable_bytes) const;
245
246 jlong collection_pause_end_millis() { return _collection_pause_end_millis; }
247
248 private:
249 // Sets up marking if proper conditions are met.
250 void maybe_start_marking();
251
252 // The kind of STW pause.
253 enum PauseKind {
254 FullGC,
255 YoungOnlyGC,
256 MixedGC,
257 LastYoungGC,
258 InitialMarkGC,
259 Cleanup,
260 Remark
261 };
262
263 // Calculate PauseKind from internal state.
264 PauseKind young_gc_pause_kind() const;
|
224 void update_rs_lengths_prediction();
225 void update_rs_lengths_prediction(size_t prediction);
226
227 // Check whether a given young length (young_length) fits into the
228 // given target pause time and whether the prediction for the amount
229 // of objects to be copied for the given length will fit into the
230 // given free space (expressed by base_free_regions). It is used by
231 // calculate_young_list_target_length().
232 bool predict_will_fit(uint young_length, double base_time_ms,
233 uint base_free_regions, double target_pause_time_ms) const;
234
235 public:
236 size_t pending_cards() const { return _pending_cards; }
237
238 uint calc_min_old_cset_length() const;
239 uint calc_max_old_cset_length() const;
240
241 // Returns the given amount of reclaimable bytes (that represents
242 // the amount of reclaimable space still to be collected) as a
243 // percentage of the current heap capacity.
244 double reclaimable_bytes_percent(size_t reclaimable_bytes) const;
245
246 jlong collection_pause_end_millis() { return _collection_pause_end_millis; }
247
248 private:
249 // Sets up marking if proper conditions are met.
250 void maybe_start_marking();
251
252 // The kind of STW pause.
253 enum PauseKind {
254 FullGC,
255 YoungOnlyGC,
256 MixedGC,
257 LastYoungGC,
258 InitialMarkGC,
259 Cleanup,
260 Remark
261 };
262
263 // Calculate PauseKind from internal state.
264 PauseKind young_gc_pause_kind() const;
|