87 private: |
87 private: |
88 // either equal to the number of parallel threads, if ParallelGCThreads |
88 // either equal to the number of parallel threads, if ParallelGCThreads |
89 // has been set, or 1 otherwise |
89 // has been set, or 1 otherwise |
90 int _parallel_gc_threads; |
90 int _parallel_gc_threads; |
91 |
91 |
|
92 // The number of GC threads currently active. |
|
93 uintx _no_of_gc_threads; |
|
94 |
92 enum SomePrivateConstants { |
95 enum SomePrivateConstants { |
93 NumPrevPausesForHeuristics = 10 |
96 NumPrevPausesForHeuristics = 10 |
94 }; |
97 }; |
95 |
98 |
96 G1MMUTracker* _mmu_tracker; |
99 G1MMUTracker* _mmu_tracker; |
278 |
281 |
279 void adjust_concurrent_refinement(double update_rs_time, |
282 void adjust_concurrent_refinement(double update_rs_time, |
280 double update_rs_processed_buffers, |
283 double update_rs_processed_buffers, |
281 double goal_ms); |
284 double goal_ms); |
282 |
285 |
|
286 uintx no_of_gc_threads() { return _no_of_gc_threads; } |
|
287 void set_no_of_gc_threads(uintx v) { _no_of_gc_threads = v; } |
|
288 |
283 double _pause_time_target_ms; |
289 double _pause_time_target_ms; |
284 double _recorded_young_cset_choice_time_ms; |
290 double _recorded_young_cset_choice_time_ms; |
285 double _recorded_non_young_cset_choice_time_ms; |
291 double _recorded_non_young_cset_choice_time_ms; |
286 size_t _pending_cards; |
292 size_t _pending_cards; |
287 size_t _max_pending_cards; |
293 size_t _max_pending_cards; |
288 |
294 |
289 public: |
295 public: |
|
296 // Accessors |
290 |
297 |
291 void set_region_eden(HeapRegion* hr, int young_index_in_cset) { |
298 void set_region_eden(HeapRegion* hr, int young_index_in_cset) { |
292 hr->set_young(); |
299 hr->set_young(); |
293 hr->install_surv_rate_group(_short_lived_surv_rate_group); |
300 hr->install_surv_rate_group(_short_lived_surv_rate_group); |
294 hr->set_young_index_in_cset(young_index_in_cset); |
301 hr->set_young_index_in_cset(young_index_in_cset); |
735 |
742 |
736 void record_concurrent_mark_remark_start(); |
743 void record_concurrent_mark_remark_start(); |
737 void record_concurrent_mark_remark_end(); |
744 void record_concurrent_mark_remark_end(); |
738 |
745 |
739 void record_concurrent_mark_cleanup_start(); |
746 void record_concurrent_mark_cleanup_start(); |
740 void record_concurrent_mark_cleanup_end(); |
747 void record_concurrent_mark_cleanup_end(int no_of_gc_threads); |
741 void record_concurrent_mark_cleanup_completed(); |
748 void record_concurrent_mark_cleanup_completed(); |
742 |
749 |
743 void record_concurrent_pause(); |
750 void record_concurrent_pause(); |
744 void record_concurrent_pause_end(); |
751 void record_concurrent_pause_end(); |
745 |
752 |
746 void record_collection_pause_end(); |
753 void record_collection_pause_end(int no_of_gc_threads); |
747 void print_heap_transition(); |
754 void print_heap_transition(); |
748 |
755 |
749 // Record the fact that a full collection occurred. |
756 // Record the fact that a full collection occurred. |
750 void record_full_collection_start(); |
757 void record_full_collection_start(); |
751 void record_full_collection_end(); |
758 void record_full_collection_end(); |