equal
deleted
inserted
replaced
29 #include "utilities/globalDefinitions.hpp" |
29 #include "utilities/globalDefinitions.hpp" |
30 |
30 |
31 // Forward decl |
31 // Forward decl |
32 class CardTableEntryClosure; |
32 class CardTableEntryClosure; |
33 class G1ConcurrentRefineThread; |
33 class G1ConcurrentRefineThread; |
34 class G1YoungRemSetSamplingThread; |
|
35 class outputStream; |
34 class outputStream; |
36 class ThreadClosure; |
35 class ThreadClosure; |
37 |
36 |
38 class G1ConcurrentRefine : public CHeapObj<mtGC> { |
37 class G1ConcurrentRefine : public CHeapObj<mtGC> { |
39 G1YoungRemSetSamplingThread* _sample_thread; |
|
40 |
|
41 G1ConcurrentRefineThread** _threads; |
38 G1ConcurrentRefineThread** _threads; |
42 uint _n_worker_threads; |
39 uint _n_worker_threads; |
43 /* |
40 /* |
44 * The value of the update buffer queue length falls into one of 3 zones: |
41 * The value of the update buffer queue length falls into one of 3 zones: |
45 * green, yellow, red. If the value is in [0, green) nothing is |
42 * green, yellow, red. If the value is in [0, green) nothing is |
84 |
81 |
85 void stop(); |
82 void stop(); |
86 |
83 |
87 void adjust(double update_rs_time, size_t update_rs_processed_buffers, double goal_ms); |
84 void adjust(double update_rs_time, size_t update_rs_processed_buffers, double goal_ms); |
88 |
85 |
89 // Iterate over all concurrent refinement threads |
86 // Iterate over all concurrent refinement threads applying the given closure. |
90 void threads_do(ThreadClosure *tc); |
87 void threads_do(ThreadClosure *tc); |
91 |
|
92 // Iterate over all worker refinement threads |
|
93 void worker_threads_do(ThreadClosure * tc); |
|
94 |
|
95 // The RS sampling thread has nothing to do with refinement, but is here for now. |
|
96 G1YoungRemSetSamplingThread * sampling_thread() const { return _sample_thread; } |
|
97 |
88 |
98 static uint thread_num(); |
89 static uint thread_num(); |
99 |
90 |
100 void print_worker_threads_on(outputStream* st) const; |
91 void print_threads_on(outputStream* st) const; |
101 |
92 |
102 size_t green_zone() const { return _green_zone; } |
93 size_t green_zone() const { return _green_zone; } |
103 size_t yellow_zone() const { return _yellow_zone; } |
94 size_t yellow_zone() const { return _yellow_zone; } |
104 size_t red_zone() const { return _red_zone; } |
95 size_t red_zone() const { return _red_zone; } |
105 }; |
96 }; |