55 * is turned off):
56 * 1) green = yellow = red = 0. In this case the mutator will process all
57 * buffers. Except for those that are created by the deferred updates
58 * machinery during a collection.
59 * 2) green = 0. Means no caching. Can be a good way to minimize the
60 * amount of time spent updating rsets during a collection.
61 */
62 int _green_zone;
63 int _yellow_zone;
64 int _red_zone;
65
66 int _thread_threshold_step;
67
68 // We delay the refinement of 'hot' cards using the hot card cache.
69 G1HotCardCache _hot_card_cache;
70
71 // Reset the threshold step value based of the current zone boundaries.
72 void reset_threshold_step();
73
74 public:
75 ConcurrentG1Refine(G1CollectedHeap* g1h, CardTableEntryClosure* refine_closure);
76 ~ConcurrentG1Refine();
77
78 void init(G1RegionToSpaceMapper* card_counts_storage);
79 void stop();
80
81 void reinitialize_threads();
82
83 // Iterate over all concurrent refinement threads
84 void threads_do(ThreadClosure *tc);
85
86 // Iterate over all worker refinement threads
87 void worker_threads_do(ThreadClosure * tc);
88
89 // The RS sampling thread
90 ConcurrentG1RefineThread * sampling_thread() const;
91
92 static uint thread_num();
93
94 void print_worker_threads_on(outputStream* st) const;
95
|
55 * is turned off):
56 * 1) green = yellow = red = 0. In this case the mutator will process all
57 * buffers. Except for those that are created by the deferred updates
58 * machinery during a collection.
59 * 2) green = 0. Means no caching. Can be a good way to minimize the
60 * amount of time spent updating rsets during a collection.
61 */
62 int _green_zone;
63 int _yellow_zone;
64 int _red_zone;
65
66 int _thread_threshold_step;
67
68 // We delay the refinement of 'hot' cards using the hot card cache.
69 G1HotCardCache _hot_card_cache;
70
71 // Reset the threshold step value based of the current zone boundaries.
72 void reset_threshold_step();
73
74 public:
75 ConcurrentG1Refine(G1CollectedHeap* g1h);
76 ~ConcurrentG1Refine();
77
78 void init(G1RegionToSpaceMapper* card_counts_storage);
79 void stop();
80
81 void reinitialize_threads();
82
83 // Iterate over all concurrent refinement threads
84 void threads_do(ThreadClosure *tc);
85
86 // Iterate over all worker refinement threads
87 void worker_threads_do(ThreadClosure * tc);
88
89 // The RS sampling thread
90 ConcurrentG1RefineThread * sampling_thread() const;
91
92 static uint thread_num();
93
94 void print_worker_threads_on(outputStream* st) const;
95
|