equal
deleted
inserted
replaced
168 void SATBMarkQueueSet::set_active_all_threads(bool active, bool expected_active) { |
168 void SATBMarkQueueSet::set_active_all_threads(bool active, bool expected_active) { |
169 assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint."); |
169 assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint."); |
170 #ifdef ASSERT |
170 #ifdef ASSERT |
171 verify_active_states(expected_active); |
171 verify_active_states(expected_active); |
172 #endif // ASSERT |
172 #endif // ASSERT |
173 _all_active = active; |
173 // Update the global state, synchronized with threads list management. |
|
174 { |
|
175 MutexLockerEx ml(NonJavaThreadsList_lock, Mutex::_no_safepoint_check_flag); |
|
176 _all_active = active; |
|
177 } |
174 |
178 |
175 class SetThreadActiveClosure : public ThreadClosure { |
179 class SetThreadActiveClosure : public ThreadClosure { |
176 SATBMarkQueueSet* _qset; |
180 SATBMarkQueueSet* _qset; |
177 bool _active; |
181 bool _active; |
178 public: |
182 public: |