-
CSR
-
Resolution: Unresolved
-
P4
-
behavioral
-
minimal
-
G1UpdateBufferSize is one of these unknown flags to fine-tune the G1 garbage collector, it has typically been used for regression tests. A web search showed that it typically shows up in flag lists only.
-
add/remove/modify command line option
-
Implementation
Summary
Remove the G1UpdateBufferSize
global variable because the changes for JDK-8342382 removed the data structure it governs.
Problem
JDK-8342382 implements a completely new strategy to store cards that need further refinement. Instead of using per-thread G1UpdateBufferSize
sized buffers, there is a statically allocated card table now.
Solution
Immediately obsolete the option G1UpdateBufferSize
in this JDK release (JDK 25), slated for removal in the next JDK release (JDK 26).
Specification
diff --git a/src/hotspot/share/gc/g1/g1_globals.hpp b/src/hotspot/share/gc/g1/g1_globals.hpp
index 44d0d22257e..b5ed8b888b3 100644
--- a/src/hotspot/share/gc/g1/g1_globals.hpp
+++ b/src/hotspot/share/gc/g1/g1_globals.hpp
@@ -161,10 +161,6 @@
"When expanding, % of uncommitted space to claim.") \
range(0, 100) \
\
- product(size_t, G1UpdateBufferSize, 256, \
- "Size of an update buffer") \
- constraint(G1UpdateBufferSizeConstraintFunc, AtParse) \
- \
product(uint, G1RSetUpdatingPauseTimePercent, 10, \
"A target percentage of time that is allowed to be spend on " \
"processing remembered set update buffers during the collection " \
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index c6651c46e02..e7a86f3c04c 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -534,6 +534,7 @@ static SpecialFlag const special_jvm_flags[] = {
{ "MetaspaceReclaimPolicy", JDK_Version::undefined(), JDK_Version::jdk(21), JDK_Version::undefined() },
{ "ZGenerational", JDK_Version::jdk(23), JDK_Version::jdk(24), JDK_Version::undefined() },
{ "ZMarkStackSpaceLimit", JDK_Version::undefined(), JDK_Version::jdk(25), JDK_Version::undefined() },
+ { "G1UpdateBufferSize", JDK_Version::undefined(), JDK_Version::jdk(25), JDK_Version::jdk(26) },
#ifdef ASSERT
{ "DummyObsoleteTestFlag", JDK_Version::undefined(), JDK_Version::jdk(18), JDK_Version::undefined() },
- csr of
-
JDK-8342382 Implementation of JEP G1: Improve Application Throughput with a More Efficient Write-Barrier
-
- Open
-