8222086: CodeCache::UnloadingScope needs to preserve and restore previous IsUnloadingBehavior

Reviewed-by: eosterlund
This commit is contained in:
Zhengyu Gu 2019-04-08 13:22:59 -04:00
parent 8dfa6d1acc
commit cc871f0459
2 changed files with 3 additions and 1 deletions

View file

@ -780,13 +780,14 @@ void CodeCache::increment_unloading_cycle() {
CodeCache::UnloadingScope::UnloadingScope(BoolObjectClosure* is_alive)
: _is_unloading_behaviour(is_alive)
{
_saved_behaviour = IsUnloadingBehaviour::current();
IsUnloadingBehaviour::set_current(&_is_unloading_behaviour);
increment_unloading_cycle();
DependencyContext::cleaning_start();
}
CodeCache::UnloadingScope::~UnloadingScope() {
IsUnloadingBehaviour::set_current(NULL);
IsUnloadingBehaviour::set_current(_saved_behaviour);
DependencyContext::cleaning_end();
}