< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp

Print this page
rev 57380 : 8234974: Shenandoah: Do concurrent roots even when no evacuation is necessary

@@ -77,11 +77,11 @@
 
 class ShenandoahIsUnloadingBehaviour : public IsUnloadingBehaviour {
 public:
   virtual bool is_unloading(CompiledMethod* method) const {
     nmethod* const nm = method->as_nmethod();
-    guarantee(ShenandoahHeap::heap()->is_evacuation_in_progress(), "Only this phase");
+    guarantee(ShenandoahHeap::heap()->is_concurrent_root_in_progress(), "Only this phase");
     ShenandoahNMethod* data = ShenandoahNMethod::gc_data(nm);
     ShenandoahReentrantLocker locker(data->lock());
     ShenandoahIsUnloadingOopClosure cl;
     data->oops_do(&cl);
     return  cl.is_unloading();

@@ -164,11 +164,11 @@
   void do_thread(Thread* thread) {}
 };
 
 void ShenandoahUnload::unload() {
   assert(ShenandoahConcurrentRoots::can_do_concurrent_class_unloading(), "Why we here?");
-  if (!ShenandoahHeap::heap()->is_evacuation_in_progress()) {
+  if (!ShenandoahHeap::heap()->is_concurrent_root_in_progress()) {
     return;
   }
 
   // Unlink stale metadata and nmethods
   unlink();
< prev index next >