180 {
181 ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_class_unload_purge_coderoots);
182 SuspendibleThreadSetJoiner sts;
183 ShenandoahCodeRoots::purge(heap->workers());
184 }
185
186 {
187 ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_class_unload_purge_cldg);
188 ClassLoaderDataGraph::purge();
189 }
190
191 {
192 ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_class_unload_purge_ec);
193 CodeCache::purge_exception_caches();
194 }
195 }
196 }
197
198 void ShenandoahUnload::finish() {
199 MetaspaceGC::compute_new_size();
200 DEBUG_ONLY(MetaspaceUtils::verify(false);)
201 }
|
180 {
181 ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_class_unload_purge_coderoots);
182 SuspendibleThreadSetJoiner sts;
183 ShenandoahCodeRoots::purge(heap->workers());
184 }
185
186 {
187 ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_class_unload_purge_cldg);
188 ClassLoaderDataGraph::purge();
189 }
190
191 {
192 ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_class_unload_purge_ec);
193 CodeCache::purge_exception_caches();
194 }
195 }
196 }
197
198 void ShenandoahUnload::finish() {
199 MetaspaceGC::compute_new_size();
200 DEBUG_ONLY(MetaspaceUtils::verify();)
201 }
|