JDK-8266721 : G1: Refactor remembered sets
  • Type: CSR
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P2
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 18
  • Submitted: 2021-05-07
  • Updated: 2021-06-22
  • Resolved: 2021-06-11
Related Reports
CSR :  
Description
Summary
-------

Obsolete the product options `-XX:G1RSetRegionEntries` and `-XX:G1RSetSparseRegionEntries` for removal. The algorithms and data structures they configure have been removed.

Using these options will generate a warning. These options will be removed in a future release.

Problem
-------

In JDK-8017163 the existing remembered set storing cards in the Java heap has been replaced by a completely new implementation. So these configuration options are not in use any more.

Solution
--------

Obsolete the affected options `-XX:G1RSetSparseRegionEntries` and `-XX:G1RSetRegionEntries` for later removal.

Specification
-------------

    diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
    index d1116467de1..c6b9307d8fb 100644
    --- a/src/hotspot/share/runtime/arguments.cpp
    +++ b/src/hotspot/share/runtime/arguments.cpp
    @@ -525,6 +525,8 @@ static SpecialFlag const special_jvm_flags[] = {
       { "SuspendRetryCount",            JDK_Version::undefined(), JDK_Version::jdk(17), JDK_Version::jdk(18) },
       { "SuspendRetryDelay",            JDK_Version::undefined(), JDK_Version::jdk(17), JDK_Version::jdk(18) },
       { "CriticalJNINatives",           JDK_Version::jdk(16), JDK_Version::jdk(17), JDK_Version::jdk(18) },
    +  { "G1RSetRegionEntries",          JDK_Version::undefined(), JDK_Version::jdk(18), JDK_Version::jdk(19) },
    +  { "G1RSetSparseRegionEntries",    JDK_Version::undefined(), JDK_Version::jdk(18), JDK_Version::jdk(19) },
       { "AlwaysLockClassLoader",        JDK_Version::jdk(17), JDK_Version::jdk(18), JDK_Version::jdk(19) },
       { "UseBiasedLocking",             JDK_Version::jdk(15), JDK_Version::jdk(18), JDK_Version::jdk(19) },
       { "BiasedLockingStartupDelay",    JDK_Version::jdk(15), JDK_Version::jdk(18), JDK_Version::jdk(19) },

Comments
Re-approving for 18.
11-06-2021

[~darcy]: the change did not make it into 17. Withdrawing and going to ask for re-approval for 18 later. Apologies.
11-06-2021

Re-affirming approval of corrected text.
02-06-2021

[~darcy]: I just noticed that there is a typo in the solution, not correctly repeating the wrong flags. G1RemSetArrayOfCardsEntries should be G1RSetSparseRegionEntries as written in the Summary and the specification. Can I just fix that or do I need to re-do the CSR?
02-06-2021

Moving to Approved.
27-05-2021