src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp

changeset 6930
570cb6369f17
parent 6906
581e70386ec9
child 7535
7ae4e26cb1e0
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp	Mon Jul 21 09:40:19 2014 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp	Mon Jul 21 09:40:19 2014 +0200
     1.3 @@ -33,8 +33,10 @@
     1.4  
     1.5  ConcurrentG1RefineThread::
     1.6  ConcurrentG1RefineThread(ConcurrentG1Refine* cg1r, ConcurrentG1RefineThread *next,
     1.7 +                         CardTableEntryClosure* refine_closure,
     1.8                           uint worker_id_offset, uint worker_id) :
     1.9    ConcurrentGCThread(),
    1.10 +  _refine_closure(refine_closure),
    1.11    _worker_id_offset(worker_id_offset),
    1.12    _worker_id(worker_id),
    1.13    _active(false),
    1.14 @@ -204,7 +206,7 @@
    1.15          if (_next != NULL && !_next->is_active() && curr_buffer_num > _next->_threshold) {
    1.16            _next->activate();
    1.17          }
    1.18 -      } while (dcqs.apply_closure_to_completed_buffer(_worker_id + _worker_id_offset, cg1r()->green_zone()));
    1.19 +      } while (dcqs.apply_closure_to_completed_buffer(_refine_closure, _worker_id + _worker_id_offset, cg1r()->green_zone()));
    1.20  
    1.21        // We can exit the loop above while being active if there was a yield request.
    1.22        if (is_active()) {

mercurial