604 605 G1CollectorState* collector_state() const; 606 607 G1GCPhaseTimes* phase_times() const { return _phase_times; } 608 609 // Check the current value of the young list RSet lengths and 610 // compare it against the last prediction. If the current value is 611 // higher, recalculate the young list target length prediction. 612 void revise_young_list_target_length_if_necessary(); 613 614 // This should be called after the heap is resized. 615 void record_new_heap_size(uint new_number_of_regions); 616 617 void init(); 618 619 virtual void note_gc_start(uint num_active_workers); 620 621 // Create jstat counters for the policy. 622 virtual void initialize_gc_policy_counters(); 623 624 virtual HeapWord* mem_allocate_work(size_t size, 625 bool is_tlab, 626 bool* gc_overhead_limit_was_exceeded); 627 628 // This method controls how a collector handles one or more 629 // of its generations being fully allocated. 630 virtual HeapWord* satisfy_failed_allocation(size_t size, 631 bool is_tlab); 632 633 bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0); 634 635 bool about_to_start_mixed_phase() const; 636 637 // Record the start and end of an evacuation pause. 638 void record_collection_pause_start(double start_time_sec); 639 void record_collection_pause_end(double pause_time_ms, size_t cards_scanned, size_t heap_used_bytes_before_gc); 640 641 // Record the start and end of a full collection. 642 void record_full_collection_start(); 643 void record_full_collection_end(); 644 645 // Must currently be called while the world is stopped. 646 void record_concurrent_mark_init_end(double mark_init_elapsed_time_ms); 647 648 // Record start and end of remark. 649 void record_concurrent_mark_remark_start(); 650 void record_concurrent_mark_remark_end(); 651 652 // Record start, end, and completion of cleanup. | 604 605 G1CollectorState* collector_state() const; 606 607 G1GCPhaseTimes* phase_times() const { return _phase_times; } 608 609 // Check the current value of the young list RSet lengths and 610 // compare it against the last prediction. If the current value is 611 // higher, recalculate the young list target length prediction. 612 void revise_young_list_target_length_if_necessary(); 613 614 // This should be called after the heap is resized. 615 void record_new_heap_size(uint new_number_of_regions); 616 617 void init(); 618 619 virtual void note_gc_start(uint num_active_workers); 620 621 // Create jstat counters for the policy. 622 virtual void initialize_gc_policy_counters(); 623 624 bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0); 625 626 bool about_to_start_mixed_phase() const; 627 628 // Record the start and end of an evacuation pause. 629 void record_collection_pause_start(double start_time_sec); 630 void record_collection_pause_end(double pause_time_ms, size_t cards_scanned, size_t heap_used_bytes_before_gc); 631 632 // Record the start and end of a full collection. 633 void record_full_collection_start(); 634 void record_full_collection_end(); 635 636 // Must currently be called while the world is stopped. 637 void record_concurrent_mark_init_end(double mark_init_elapsed_time_ms); 638 639 // Record start and end of remark. 640 void record_concurrent_mark_remark_start(); 641 void record_concurrent_mark_remark_end(); 642 643 // Record start, end, and completion of cleanup. |