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

Cleanup G1DirtyCardQueueSet::num_processed_xxx

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Not an Issue
    • Affects Version/s: 13
    • Fix Version/s: tbd
    • Component/s: hotspot
    • Subcomponent:
      gc

      Description

      G1DirtyCardQueueSet has a pair of members, _num_processed_mut and _num_processed_rs_thread, with associated accessor functions. There are several problems with these.

      The members and the accessors are declared jint, but their only use is by G1RemSetSummary, where they are used as effectively size_t values.

      The members may be incremented by multiple threads concurrently. That's done using Atomic::inc, which is fine. But the members aren't declared volatile, contrary to current HotSpot "practice". Note that the accessors are not called concurrently with updates.

      The accessor functions should be const.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                kbarrett Kim Barrett
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: