Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8352139

Remove unused G1UpdateBufferSize global variable

    • gc
    • 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() },

            tschatzl Thomas Schatzl
            tschatzl Thomas Schatzl
            Ivan Walulya, Kim Barrett
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated: