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

G1: Reference processing should not enqueue references on the shared SATB queue

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P5
    • Resolution: Fixed
    • Affects Version/s: hs25, 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b03
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        A side effect of fixing JDK-8029162 is that the reference processor will start to add references to the shared SATB queue when enqueuing discovered references. This is unnecessary and incorrect because:

        1) Processing discovered references does not detach them from the object graph. It just prepends them to a list. I.e. enqueuing them on the SATB queue is unnecessary.
        2) It will potentially enqueue references in the SATB queue which are part of the collection set, which will cause verify_no_cset_oops() check to fail and cause an abort.

        Because the shared SATB queue is currently never enabled this is not an issue at the moment. However, this needs to be fixed before JDK-8029162 and JDK-8029075 can be completed.

        Current ILW = LLL = P5
        However, this bug is blocking JDK-8029162, which in turn is blocking JDK-8029075, which at some point will change it to ILW = HMH = P1

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                pliden Per Liden (Inactive)
                Reporter:
                pliden Per Liden (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: