hg: jdk/hs: 8137099: G1 needs to "upgrade" GC within the safepoint if it can't allocate during that safepoint to avoid OoME

thomas.schatzl at oracle.com thomas.schatzl at oracle.com
Thu Jan 11 09:54:31 UTC 2018


Changeset: 862c41cf1c7f
Author:    tschatzl
Date:      2018-01-11 10:40 +0100
URL:       http://hg.openjdk.java.net/jdk/hs/rev/862c41cf1c7f

8137099: G1 needs to "upgrade" GC within the safepoint if it can't allocate during that safepoint to avoid OoME
Summary: During a minor GC, if memory allocation fails, start a full GC within the same VM operation in the same safepoint. This avoids a race where the GC locker can prevent the full GC from occurring, and a premature OoME.
Reviewed-by: ehelin, sjohanss, phh
Contributed-by: thomas.schatzl at oracle.com, axel.siebenborn at sap.com

! make/test/JtregNativeHotspot.gmk
! src/hotspot/share/gc/g1/g1CollectedHeap.cpp
! src/hotspot/share/gc/g1/g1CollectedHeap.hpp
! src/hotspot/share/gc/g1/vm_operations_g1.cpp
! src/hotspot/share/gc/g1/vm_operations_g1.hpp
! src/hotspot/share/runtime/vm_operations.hpp
! test/hotspot/jtreg/ProblemList.txt
+ test/hotspot/jtreg/gc/stress/TestJNIBlockFullGC/TestJNIBlockFullGC.java
+ test/hotspot/jtreg/gc/stress/TestJNIBlockFullGC/libTestJNIBlockFullGC.c



More information about the jdk-hs-changes mailing list