< 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 >