1.1 --- a/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp Mon May 11 16:30:56 2009 -0700 1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp Mon May 18 11:52:46 2009 -0700 1.3 @@ -30,8 +30,10 @@ 1.4 // The CM thread is created when the G1 garbage collector is used 1.5 1.6 ConcurrentG1RefineThread:: 1.7 -ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread *next, int worker_id) : 1.8 +ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread *next, 1.9 + int worker_id_offset, int worker_id) : 1.10 ConcurrentGCThread(), 1.11 + _worker_id_offset(worker_id_offset), 1.12 _worker_id(worker_id), 1.13 _active(false), 1.14 _next(next), 1.15 @@ -114,7 +116,7 @@ 1.16 } else { 1.17 lower_limit = DCQBarrierProcessCompletedThreshold / 4; // For now. 1.18 } 1.19 - while (dcqs.apply_closure_to_completed_buffer(_worker_id, lower_limit)) { 1.20 + while (dcqs.apply_closure_to_completed_buffer(_worker_id + _worker_id_offset, lower_limit)) { 1.21 double end_vtime_sec; 1.22 double elapsed_vtime_sec; 1.23 int elapsed_vtime_ms;