43 SH_PS_JNIHandles_oops_do, |
43 SH_PS_JNIHandles_oops_do, |
44 SH_PS_ObjectSynchronizer_oops_do, |
44 SH_PS_ObjectSynchronizer_oops_do, |
45 SH_PS_FlatProfiler_oops_do, |
45 SH_PS_FlatProfiler_oops_do, |
46 SH_PS_Management_oops_do, |
46 SH_PS_Management_oops_do, |
47 SH_PS_SystemDictionary_oops_do, |
47 SH_PS_SystemDictionary_oops_do, |
|
48 SH_PS_ClassLoaderDataGraph_oops_do, |
48 SH_PS_jvmti_oops_do, |
49 SH_PS_jvmti_oops_do, |
49 SH_PS_StringTable_oops_do, |
50 SH_PS_StringTable_oops_do, |
50 SH_PS_CodeCache_oops_do, |
51 SH_PS_CodeCache_oops_do, |
51 // Leave this one last. |
52 // Leave this one last. |
52 SH_PS_NumElements |
53 SH_PS_NumElements |
171 JvmtiExport::oops_do(roots); |
172 JvmtiExport::oops_do(roots); |
172 |
173 |
173 if (!_process_strong_tasks->is_task_claimed(SH_PS_SystemDictionary_oops_do)) { |
174 if (!_process_strong_tasks->is_task_claimed(SH_PS_SystemDictionary_oops_do)) { |
174 if (so & SO_AllClasses) { |
175 if (so & SO_AllClasses) { |
175 SystemDictionary::oops_do(roots); |
176 SystemDictionary::oops_do(roots); |
|
177 } else if (so & SO_SystemClasses) { |
|
178 SystemDictionary::always_strong_oops_do(roots); |
|
179 } else { |
|
180 fatal("We should always have selected either SO_AllClasses or SO_SystemClasses"); |
|
181 } |
|
182 } |
|
183 |
|
184 if (!_process_strong_tasks->is_task_claimed(SH_PS_ClassLoaderDataGraph_oops_do)) { |
|
185 if (so & SO_AllClasses) { |
176 ClassLoaderDataGraph::oops_do(roots, klass_closure, !is_scavenging); |
186 ClassLoaderDataGraph::oops_do(roots, klass_closure, !is_scavenging); |
177 } else if (so & SO_SystemClasses) { |
187 } else if (so & SO_SystemClasses) { |
178 SystemDictionary::always_strong_oops_do(roots); |
|
179 ClassLoaderDataGraph::always_strong_oops_do(roots, klass_closure, !is_scavenging); |
188 ClassLoaderDataGraph::always_strong_oops_do(roots, klass_closure, !is_scavenging); |
180 } else { |
|
181 fatal("We should always have selected either SO_AllClasses or SO_SystemClasses"); |
|
182 } |
189 } |
183 } |
190 } |
184 |
191 |
185 if (!_process_strong_tasks->is_task_claimed(SH_PS_StringTable_oops_do)) { |
192 if (!_process_strong_tasks->is_task_claimed(SH_PS_StringTable_oops_do)) { |
186 if (so & SO_Strings) { |
193 if (so & SO_Strings) { |