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

Rewire ShenandoahHeap::maybe_update_with_forwarded for contending fixups

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 8-shenandoah, 11-shenandoah, 13
    • Fix Version/s: 13
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b25

      Backports

        Description

        Currently the method can return NULL on the path where something else is contending over the write. In most current cases, that path works correctly, but not when something else (for example, inline fixup in barrier taken by Java thread) updates the references on their own.

        Then, the CAS might fail (as it should), and the GC code would think that thread is responsible to show the object to the marking code. This is risky and would lead to bugs. Instead, we would want to reply with the most actual reference at all times.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                shade Aleksey Shipilev
                Reporter:
                shade Aleksey Shipilev
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: