< prev index next >
src/hotspot/share/code/codeCache.cpp
#include "code/codeBlob.hpp"
#include "code/codeCache.hpp"
#include "code/codeHeapState.hpp"
#include "code/compiledIC.hpp"
#include "code/dependencies.hpp"
+ #include "code/dependencyContext.hpp"
#include "code/icBuffer.hpp"
#include "code/nmethod.hpp"
#include "code/pcDesc.hpp"
#include "compiler/compileBroker.hpp"
#include "jfr/jfrEvents.hpp"
***************
} else {
_unloading_cycle = 1;
}
}
+ CodeCache::UnloadingScope::UnloadingScope(BoolObjectClosure* is_alive)
+ : _is_unloading_behaviour(is_alive)
+ {
+ IsUnloadingBehaviour::set_current(&_is_unloading_behaviour);
+ increment_unloading_cycle();
+ DependencyContext::gc_prologue();
+ }
+
+ CodeCache::UnloadingScope::~UnloadingScope() {
+ IsUnloadingBehaviour::set_current(NULL);
+ DependencyContext::gc_epilogue();
+ }
+
void CodeCache::verify_oops() {
MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
VerifyOopClosure voc;
NMethodIterator iter;
while(iter.next_alive()) {
< prev index next >