< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp
Print this page
rev 59811 : 8247670: Shenandoah: deadlock during class unloading OOME
@@ -195,6 +195,20 @@
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 >