1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Tue Nov 22 04:47:10 2011 -0500 1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Tue Aug 09 10:16:01 2011 -0700 1.3 @@ -89,6 +89,9 @@ 1.4 // has been set, or 1 otherwise 1.5 int _parallel_gc_threads; 1.6 1.7 + // The number of GC threads currently active. 1.8 + uintx _no_of_gc_threads; 1.9 + 1.10 enum SomePrivateConstants { 1.11 NumPrevPausesForHeuristics = 10 1.12 }; 1.13 @@ -280,6 +283,9 @@ 1.14 double update_rs_processed_buffers, 1.15 double goal_ms); 1.16 1.17 + uintx no_of_gc_threads() { return _no_of_gc_threads; } 1.18 + void set_no_of_gc_threads(uintx v) { _no_of_gc_threads = v; } 1.19 + 1.20 double _pause_time_target_ms; 1.21 double _recorded_young_cset_choice_time_ms; 1.22 double _recorded_non_young_cset_choice_time_ms; 1.23 @@ -287,6 +293,7 @@ 1.24 size_t _max_pending_cards; 1.25 1.26 public: 1.27 + // Accessors 1.28 1.29 void set_region_eden(HeapRegion* hr, int young_index_in_cset) { 1.30 hr->set_young(); 1.31 @@ -737,13 +744,13 @@ 1.32 void record_concurrent_mark_remark_end(); 1.33 1.34 void record_concurrent_mark_cleanup_start(); 1.35 - void record_concurrent_mark_cleanup_end(); 1.36 + void record_concurrent_mark_cleanup_end(int no_of_gc_threads); 1.37 void record_concurrent_mark_cleanup_completed(); 1.38 1.39 void record_concurrent_pause(); 1.40 void record_concurrent_pause_end(); 1.41 1.42 - void record_collection_pause_end(); 1.43 + void record_collection_pause_end(int no_of_gc_threads); 1.44 void print_heap_transition(); 1.45 1.46 // Record the fact that a full collection occurred.