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

Synthetic cast causes generation of store barriers when using heap segments

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 18
    • Fix Version/s: 18
    • Component/s: core-libs
    • Labels:
      None
    • Resolved In Build:
      b32

      Backports

        Description

        The heap segment hierarchy uses a generic type variable to denote the type of the base object (e.g. float[] vs. int[]). When we create slices, we access the base field, javac inserts a cast to the sharp type, and then the value is used to initialize a new segment. This extra cast is enough to throw off C2's store capture optimizations, which allow barriers to be removed for initializing stores.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                mcimadamore Maurizio Cimadamore
                Reporter:
                mcimadamore Maurizio Cimadamore
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: