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

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.

Co-authored-by: Axel Siebenborn <axel.siebenborn@sap.com>
Reviewed-by: ehelin, sjohanss, phh
9 files changed