298 G1GCPhaseTimes* phase_times() const;
299
300 // Check the current value of the young list RSet length and
301 // compare it against the last prediction. If the current value is
302 // higher, recalculate the young list target length prediction.
303 void revise_young_list_target_length_if_necessary(size_t rs_length);
304
305 // This should be called after the heap is resized.
306 void record_new_heap_size(uint new_number_of_regions);
307
308 virtual void init(G1CollectedHeap* g1h, G1CollectionSet* collection_set);
309
310 void note_gc_start();
311
312 bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0);
313
314 bool about_to_start_mixed_phase() const;
315
316 // Record the start and end of an evacuation pause.
317 void record_collection_pause_start(double start_time_sec);
318 virtual void record_collection_pause_end(double pause_time_ms);
319
320 // Record the start and end of a full collection.
321 void record_full_collection_start();
322 virtual void record_full_collection_end();
323
324 // Must currently be called while the world is stopped.
325 void record_concurrent_mark_init_end(double mark_init_elapsed_time_ms);
326
327 // Record start and end of remark.
328 void record_concurrent_mark_remark_start();
329 void record_concurrent_mark_remark_end();
330
331 // Record start, end, and completion of cleanup.
332 void record_concurrent_mark_cleanup_start();
333 void record_concurrent_mark_cleanup_end();
334
335 void print_phases();
336
337 // Calculate and return the number of initial and optional old gen regions from
338 // the given collection set candidates and the remaining time.
339 void calculate_old_collection_set_regions(G1CollectionSetCandidates* candidates,
340 double time_remaining_ms,
341 uint& num_initial_regions,
342 uint& num_optional_regions);
343
344 // Calculate the number of optional regions from the given collection set candidates,
345 // the remaining time and the maximum number of these regions and return the number
|
298 G1GCPhaseTimes* phase_times() const;
299
300 // Check the current value of the young list RSet length and
301 // compare it against the last prediction. If the current value is
302 // higher, recalculate the young list target length prediction.
303 void revise_young_list_target_length_if_necessary(size_t rs_length);
304
305 // This should be called after the heap is resized.
306 void record_new_heap_size(uint new_number_of_regions);
307
308 virtual void init(G1CollectedHeap* g1h, G1CollectionSet* collection_set);
309
310 void note_gc_start();
311
312 bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0);
313
314 bool about_to_start_mixed_phase() const;
315
316 // Record the start and end of an evacuation pause.
317 void record_collection_pause_start(double start_time_sec);
318 virtual void record_collection_pause_end(double pause_time_ms, bool start_concurrent_mark_cycle);
319
320 // Record the start and end of a full collection.
321 void record_full_collection_start();
322 virtual void record_full_collection_end();
323
324 // Must currently be called while the world is stopped.
325 void record_concurrent_mark_init_end();
326
327 // Record start and end of remark.
328 void record_concurrent_mark_remark_start();
329 void record_concurrent_mark_remark_end();
330
331 // Record start, end, and completion of cleanup.
332 void record_concurrent_mark_cleanup_start();
333 void record_concurrent_mark_cleanup_end();
334
335 void print_phases();
336
337 // Calculate and return the number of initial and optional old gen regions from
338 // the given collection set candidates and the remaining time.
339 void calculate_old_collection_set_regions(G1CollectionSetCandidates* candidates,
340 double time_remaining_ms,
341 uint& num_initial_regions,
342 uint& num_optional_regions);
343
344 // Calculate the number of optional regions from the given collection set candidates,
345 // the remaining time and the maximum number of these regions and return the number
|