< prev index next >

src/hotspot/share/code/nmethod.cpp


*** 1578,1588 **** } // 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); state = IsUnloadingState::create(state_is_unloading, state_unloading_cycle); RawAccess<MO_RELAXED>::store(&_is_unloading_state, state); --- 1578,1594 ---- } // 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(); ! ! 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 >