8098573: Compiler accesses to shared archive fail if archive is remapped

Change ciEnv::~ciEnv() to remove symbols in VM state.

Reviewed-by: kvn, dholmes
This commit is contained in:
Zoltan Majo 2016-07-12 10:16:36 +02:00
parent 48d49a9522
commit ad7a778683

View File

@ -204,11 +204,13 @@ ciEnv::ciEnv(Arena* arena) : _ciEnv_arena(mtCompiler) {
}
ciEnv::~ciEnv() {
CompilerThread* current_thread = CompilerThread::current();
_factory->remove_symbols();
// Need safepoint to clear the env on the thread. RedefineClasses might
// be reading it.
GUARDED_VM_ENTRY(current_thread->set_env(NULL);)
GUARDED_VM_ENTRY(
CompilerThread* current_thread = CompilerThread::current();
_factory->remove_symbols();
// Need safepoint to clear the env on the thread. RedefineClasses might
// be reading it.
current_thread->set_env(NULL);
)
}
// ------------------------------------------------------------------