< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp
Print this page
rev 56302 : [mq]: 8231189-worker_i-renamings
*** 196,218 ****
inline size_t activation_level(const Thresholds& t) { return t.first; }
inline size_t deactivation_level(const Thresholds& t) { return t.second; }
static Thresholds calc_thresholds(size_t green_zone,
size_t yellow_zone,
! uint worker_i) {
double yellow_size = yellow_zone - green_zone;
double step = yellow_size / G1ConcurrentRefine::max_num_threads();
! if (worker_i == 0) {
// Potentially activate worker 0 more aggressively, to keep
// available buffers near green_zone value. When yellow_size is
// large we don't want to allow a full step to accumulate before
// doing any processing, as that might lead to significantly more
// than green_zone buffers to be processed during scanning.
step = MIN2(step, ParallelGCThreads / 2.0);
}
! size_t activate_offset = static_cast<size_t>(ceil(step * (worker_i + 1)));
! size_t deactivate_offset = static_cast<size_t>(floor(step * worker_i));
return Thresholds(green_zone + activate_offset,
green_zone + deactivate_offset);
}
G1ConcurrentRefine::G1ConcurrentRefine(size_t green_zone,
--- 196,218 ----
inline size_t activation_level(const Thresholds& t) { return t.first; }
inline size_t deactivation_level(const Thresholds& t) { return t.second; }
static Thresholds calc_thresholds(size_t green_zone,
size_t yellow_zone,
! uint worker_id) {
double yellow_size = yellow_zone - green_zone;
double step = yellow_size / G1ConcurrentRefine::max_num_threads();
! if (worker_id == 0) {
// Potentially activate worker 0 more aggressively, to keep
// available buffers near green_zone value. When yellow_size is
// large we don't want to allow a full step to accumulate before
// doing any processing, as that might lead to significantly more
// than green_zone buffers to be processed during scanning.
step = MIN2(step, ParallelGCThreads / 2.0);
}
! size_t activate_offset = static_cast<size_t>(ceil(step * (worker_id + 1)));
! size_t deactivate_offset = static_cast<size_t>(floor(step * worker_id));
return Thresholds(green_zone + activate_offset,
green_zone + deactivate_offset);
}
G1ConcurrentRefine::G1ConcurrentRefine(size_t green_zone,
< prev index next >