diff --git a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp index a2f08726b29..4c92dde76eb 100644 --- a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp +++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp @@ -1552,9 +1552,10 @@ void G1ConcurrentMark::weak_refs_work(bool clear_all_soft_refs) { if (has_overflown()) { // We can not trust g1_is_alive and the contents of the heap if the marking stack // overflowed while processing references. Exit the VM. - fatal("Overflow during reference processing, can not continue. Please " - "increase MarkStackSizeMax (current value: " SIZE_FORMAT ") and " - "restart.", MarkStackSizeMax); + fatal("Overflow during reference processing, can not continue. Current mark stack depth: " + SIZE_FORMAT ", MarkStackSize: " SIZE_FORMAT ", MarkStackSizeMax: " SIZE_FORMAT ". " + "Please increase MarkStackSize and/or MarkStackSizeMax and restart.", + _global_mark_stack.size(), MarkStackSize, MarkStackSizeMax); return; } diff --git a/src/hotspot/share/gc/shared/gc_globals.hpp b/src/hotspot/share/gc/shared/gc_globals.hpp index 41a3f9f46d1..6ab3984c82b 100644 --- a/src/hotspot/share/gc/shared/gc_globals.hpp +++ b/src/hotspot/share/gc/shared/gc_globals.hpp @@ -209,7 +209,7 @@ "Maximum size of marking stack") \ range(1, (max_jint - 1)) \ \ - product(size_t, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M), \ + product(size_t, MarkStackSize, NOT_LP64(64*K) LP64_ONLY(4*M), \ "Size of marking stack") \ constraint(MarkStackSizeConstraintFunc,AfterErgo) \ range(1, (max_jint - 1)) \