< prev index next > src/hotspot/share/code/nmethod.cpp
}
// The IsUnloadingBehaviour is responsible for checking if there are any dead
// oops in the CompiledMethod, by calling oops_do on it.
state_unloading_cycle = CodeCache::unloading_cycle();
- state_is_unloading = IsUnloadingBehaviour::current()->is_unloading(this);
+
+ if (is_zombie()) {
+ // Zombies without calculated unloading epoch are never unloading due to GC.
+ state_is_unloading = false;
+ } else {
+ state_is_unloading = IsUnloadingBehaviour::current()->is_unloading(this);
+ }
state = IsUnloadingState::create(state_is_unloading, state_unloading_cycle);
RawAccess<MO_RELAXED>::store(&_is_unloading_state, state);
< prev index next >