< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp
Print this page
rev 59811 : 8247670: Shenandoah: deadlock during class unloading OOME
*** 195,200 ****
--- 195,214 ----
void nmethods_do_begin();
void nmethods_do(NMethodClosure* cl);
void nmethods_do_end();
};
+ // This locker aborts acquiring per-nmethod lock if heap encountered OOM.
+ class ShenandoahAbortableNMethodLocker : public StackObj {
+ private:
+ ShenandoahHeap* const _heap;
+ ShenandoahReentrantLock* const _lock;
+ bool _aborted;
+
+ public:
+ ShenandoahAbortableNMethodLocker(ShenandoahReentrantLock* lock);
+ ~ShenandoahAbortableNMethodLocker();
+
+ bool aborted() const { return _aborted; }
+ };
+
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHNMETHOD_HPP
< prev index next >