- 
    Enhancement 
- 
    Resolution: Unresolved
- 
     P4 P4
- 
    None
- 
    None
                    After vmop_entry_final_mark() identifies regions of immediate garbage, the current Shenandoah implementation does in order:
entry_thread_roots()
entry_weak_refs()
entry_weak_roots()
entry_cleanup_early()
The immediate garbage is not reclaimed until entry_cleanup_early(). We may experience out-of-memory during entry_thread_roots(), entry_weak_refs(), or entry_weak_roots().
By performing entry_cleanup_early() before entry_thread_roots(), we reduce the likelihood of OOM that might cause unnecessary degenerated GC cycles.
entry_thread_roots()
entry_weak_refs()
entry_weak_roots()
entry_cleanup_early()
The immediate garbage is not reclaimed until entry_cleanup_early(). We may experience out-of-memory during entry_thread_roots(), entry_weak_refs(), or entry_weak_roots().
By performing entry_cleanup_early() before entry_thread_roots(), we reduce the likelihood of OOM that might cause unnecessary degenerated GC cycles.
- relates to
- 
                    JDK-8338534 GenShen: Handle alloc failure differently when immediate garbage is pending -           
- Open
 
-