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

Shenandoah: Streamline generation of CAS barriers

    XMLWordPrintable

Details

    • gc
    • 12
    • b06
    • x86_64
    • generic

    Backports

      Description

        Currently, we have a bit of a mess in ShenandoahBarrierSetAssembler::cmpxchg_oop(): It has special code paths for C1-only (everthing under the boolean arg 'encode') and it has a code path for !ShenandoahCASBarrier. Also, while C1 actually does not exchange, we call it with exchange==true and cmove the result. This is backwards. Also, we hacked to call storeval-barrier in C1-only path, because it can't easily be done otherwise in C1. Streamlining this code would help tremendously to clarify the actual CAS barrier algorithm, which is currently buried under all those special paths.

        Attachments

          Issue Links

            Activity

              People

                rkennke Roman Kennke
                rkennke Roman Kennke
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: