< 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 >