< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp

Print this page
rev 59691 : 8247310: Shenandoah: pacer should not affect interrupt status
Reviewed-by: XXX

*** 43,52 **** --- 43,53 ---- class ShenandoahPacer : public CHeapObj<mtGC> { private: ShenandoahHeap* _heap; BinaryMagnitudeSeq _delays; TruncatedSeq* _progress_history; + Monitor* _wait_monitor; // Set once per phase volatile intptr_t _epoch; volatile double _tax_rate;
*** 62,71 **** --- 63,73 ---- public: ShenandoahPacer(ShenandoahHeap* heap) : _heap(heap), _progress_history(new TruncatedSeq(5)), + _wait_monitor(new Monitor(Mutex::leaf, "_wait_monitor", true, Monitor::_safepoint_check_always)), _epoch(0), _tax_rate(1), _budget(0), _progress(PACING_PROGRESS_UNINIT) {}
*** 96,103 **** --- 98,108 ---- inline void report_progress_internal(size_t words); void restart_with(size_t non_taxable_bytes, double tax_rate); size_t update_and_get_progress_history(); + + void wait(long time_ms); + void notify_waiters(); }; #endif // SHARE_GC_SHENANDOAH_SHENANDOAHPACER_HPP
< prev index next >