src/share/vm/gc/g1/concurrentG1RefineThread.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/gc/g1/concurrentG1RefineThread.cpp Fri Feb 19 10:53:21 2016
--- new/src/share/vm/gc/g1/concurrentG1RefineThread.cpp Fri Feb 19 10:53:20 2016
*** 65,78 ****
--- 65,78 ----
create_and_start();
}
void ConcurrentG1RefineThread::initialize() {
// Current thread activation threshold
- _threshold = MIN2<int>(cg1r()->thread_threshold_step() * (_worker_id + 1) + cg1r()->green_zone(),
cg1r()->yellow_zone());
// A thread deactivates once the number of buffer reached a deactivation threshold
- _deactivation_threshold = MAX2<int>(_threshold - cg1r()->thread_threshold_step(), cg1r()->green_zone());
}
void ConcurrentG1RefineThread::wait_for_completed_buffers() {
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag);
*** 87,97 ****
--- 87,97 ----
}
void ConcurrentG1RefineThread::activate() {
MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag);
if (!is_primary()) {
! log_debug(gc, refine)("G1-Refine-activated worker %d, on threshold %d, current %d",
! log_debug(gc, refine)("G1-Refine-activated worker %d, on threshold " SIZE_FORMAT ", current " SIZE_FORMAT,
_worker_id, _threshold, JavaThread::dirty_card_queue_set().completed_buffers_num());
set_active(true);
} else {
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
dcqs.set_process_completed(true);
*** 100,110 ****
--- 100,110 ----
}
void ConcurrentG1RefineThread::deactivate() {
MutexLockerEx x(_monitor, Mutex::_no_safepoint_check_flag);
if (!is_primary()) {
! log_debug(gc, refine)("G1-Refine-deactivated worker %d, off threshold %d, current %d",
! log_debug(gc, refine)("G1-Refine-deactivated worker %d, off threshold " SIZE_FORMAT ", current " SIZE_FORMAT,
_worker_id, _deactivation_threshold, JavaThread::dirty_card_queue_set().completed_buffers_num());
set_active(false);
} else {
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
dcqs.set_process_completed(false);
*** 133,143 ****
--- 133,143 ----
{
SuspendibleThreadSetJoiner sts_join;
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
do {
! int curr_buffer_num = (int)dcqs.completed_buffers_num();
! size_t curr_buffer_num = dcqs.completed_buffers_num();
// If the number of the buffers falls down into the yellow zone,
// that means that the transition period after the evacuation pause has ended.
if (dcqs.completed_queue_padding() > 0 && curr_buffer_num <= cg1r()->yellow_zone()) {
dcqs.set_completed_queue_padding(0);
}
src/share/vm/gc/g1/concurrentG1RefineThread.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File