Skip to content
Permalink
Browse files

8235337: Shenandoah: Fix evac OOM scoping for concurrent class unloading

Reviewed-by: zgu
  • Loading branch information
rkennke committed Dec 4, 2019
1 parent 5845912 commit 61cdeba65e783bd5277a58b6a56da8b53271c0c2
Showing with 2 additions and 1 deletion.
  1. +2 −1 src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp
@@ -26,6 +26,7 @@
#include "code/icBuffer.hpp"
#include "code/nmethod.hpp"
#include "gc/shenandoah/shenandoahCodeRoots.hpp"
#include "gc/shenandoah/shenandoahEvacOOMHandler.hpp"
#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahNMethod.inline.hpp"
#include "gc/shenandoah/shenandoahUtils.hpp"
@@ -221,7 +222,6 @@ class ShenandoahNMethodUnlinkClosure : public NMethodClosure {
ShenandoahReentrantLocker locker(nm_data->lock());

// Heal oops and disarm
ShenandoahEvacOOMScope scope;
ShenandoahNMethod::heal_nmethod(nm);
ShenandoahNMethod::disarm_nmethod(nm);

@@ -258,6 +258,7 @@ class ShenandoahUnlinkTask : public AbstractGangTask {
}

virtual void work(uint worker_id) {
ShenandoahEvacOOMScope evac_scope;
ICRefillVerifierMark mark(_verifier);
_iterator.nmethods_do(&_cl);
}

0 comments on commit 61cdeba

Please sign in to comment.
You can’t perform that action at this time.