src/hotspot/share/gc/z/zMark.cpp
changeset 57658 0022b39ae5ae
parent 55603 3868dde58ebb
child 57851 6728c41f2a08
equal deleted inserted replaced
57657:22e12dd8f21a 57658:0022b39ae5ae
   632 
   632 
   633 
   633 
   634 class ZMarkConcurrentRootsTask : public ZTask {
   634 class ZMarkConcurrentRootsTask : public ZTask {
   635 private:
   635 private:
   636   SuspendibleThreadSetJoiner          _sts_joiner;
   636   SuspendibleThreadSetJoiner          _sts_joiner;
   637   ZConcurrentRootsIterator            _roots;
   637   ZConcurrentRootsIteratorClaimStrong _roots;
   638   ZMarkConcurrentRootsIteratorClosure _cl;
   638   ZMarkConcurrentRootsIteratorClosure _cl;
   639 
   639 
   640 public:
   640 public:
   641   ZMarkConcurrentRootsTask(ZMark* mark) :
   641   ZMarkConcurrentRootsTask(ZMark* mark) :
   642       ZTask("ZMarkConcurrentRootsTask"),
   642       ZTask("ZMarkConcurrentRootsTask"),
   643       _sts_joiner(true /* active */),
   643       _sts_joiner(),
   644       _roots(ClassLoaderData::_claim_strong),
   644       _roots(),
   645       _cl() {
   645       _cl() {
   646     ClassLoaderDataGraph_lock->lock();
   646     ClassLoaderDataGraph_lock->lock();
   647     ClassLoaderDataGraph::clear_claimed_marks();
       
   648   }
   647   }
   649 
   648 
   650   ~ZMarkConcurrentRootsTask() {
   649   ~ZMarkConcurrentRootsTask() {
   651     ClassLoaderDataGraph_lock->unlock();
   650     ClassLoaderDataGraph_lock->unlock();
   652   }
   651   }