587 uint base_free_regions, double target_pause_time_ms); 588 589 // Calculate the minimum number of old regions we'll add to the CSet 590 // during a mixed GC. 591 uint calc_min_old_cset_length(); 592 593 // Calculate the maximum number of old regions we'll add to the CSet 594 // during a mixed GC. 595 uint calc_max_old_cset_length(); 596 597 // Returns the given amount of uncollected reclaimable space 598 // as a percentage of the current heap capacity. 599 double reclaimable_bytes_perc(size_t reclaimable_bytes); 600 601 public: 602 603 G1CollectorPolicy(); 604 605 virtual G1CollectorPolicy* as_g1_policy() { return this; } 606 607 virtual CollectorPolicy::Name kind() { 608 return CollectorPolicy::G1CollectorPolicyKind; 609 } 610 611 G1CollectorState* collector_state(); 612 613 G1GCPhaseTimes* phase_times() const { return _phase_times; } 614 615 // Check the current value of the young list RSet lengths and 616 // compare it against the last prediction. If the current value is 617 // higher, recalculate the young list target length prediction. 618 void revise_young_list_target_length_if_necessary(); 619 620 // This should be called after the heap is resized. 621 void record_new_heap_size(uint new_number_of_regions); 622 623 void init(); 624 625 // Create jstat counters for the policy. 626 virtual void initialize_gc_policy_counters(); 627 628 virtual HeapWord* mem_allocate_work(size_t size, 629 bool is_tlab, 630 bool* gc_overhead_limit_was_exceeded); | 587 uint base_free_regions, double target_pause_time_ms); 588 589 // Calculate the minimum number of old regions we'll add to the CSet 590 // during a mixed GC. 591 uint calc_min_old_cset_length(); 592 593 // Calculate the maximum number of old regions we'll add to the CSet 594 // during a mixed GC. 595 uint calc_max_old_cset_length(); 596 597 // Returns the given amount of uncollected reclaimable space 598 // as a percentage of the current heap capacity. 599 double reclaimable_bytes_perc(size_t reclaimable_bytes); 600 601 public: 602 603 G1CollectorPolicy(); 604 605 virtual G1CollectorPolicy* as_g1_policy() { return this; } 606 607 G1CollectorState* collector_state(); 608 609 G1GCPhaseTimes* phase_times() const { return _phase_times; } 610 611 // Check the current value of the young list RSet lengths and 612 // compare it against the last prediction. If the current value is 613 // higher, recalculate the young list target length prediction. 614 void revise_young_list_target_length_if_necessary(); 615 616 // This should be called after the heap is resized. 617 void record_new_heap_size(uint new_number_of_regions); 618 619 void init(); 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); |