87 swap(rhs);
88 }
89
90 void CLDClaimContext::swap(CLDClaimContext& rhs) {
91 ClassLoaderData* temp_cld = rhs._cld;
92 rhs._cld = _cld;
93 _cld = temp_cld;
94 }
95
96 CLDClaimStateClosure::CLDClaimStateClosure() : CLDClosure(), _state() {}
97
98 void CLDClaimStateClosure::do_cld(ClassLoaderData* cld) {
99 assert(cld != NULL, "invariant");
100 if (cld->claimed()) {
101 _state.save(cld);
102 }
103 }
104
105 SaveRestoreCLDClaimBits::SaveRestoreCLDClaimBits() : _claim_state_closure() {
106 // interferes with GC, so walk all oops that GC would.
107 ClassLoaderDataGraph::cld_oops_do(&_claim_state_closure);
108 }
109
110 SaveRestoreCLDClaimBits::~SaveRestoreCLDClaimBits() {
111 ClassLoaderDataGraph::clear_claimed_marks();
112 }
|
87 swap(rhs);
88 }
89
90 void CLDClaimContext::swap(CLDClaimContext& rhs) {
91 ClassLoaderData* temp_cld = rhs._cld;
92 rhs._cld = _cld;
93 _cld = temp_cld;
94 }
95
96 CLDClaimStateClosure::CLDClaimStateClosure() : CLDClosure(), _state() {}
97
98 void CLDClaimStateClosure::do_cld(ClassLoaderData* cld) {
99 assert(cld != NULL, "invariant");
100 if (cld->claimed()) {
101 _state.save(cld);
102 }
103 }
104
105 SaveRestoreCLDClaimBits::SaveRestoreCLDClaimBits() : _claim_state_closure() {
106 // interferes with GC, so walk all oops that GC would.
107 ClassLoaderDataGraph::cld_do(&_claim_state_closure);
108 }
109
110 SaveRestoreCLDClaimBits::~SaveRestoreCLDClaimBits() {
111 ClassLoaderDataGraph::clear_claimed_marks();
112 }
|