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

Synthetic cast causes generation of store barriers when using heap segments

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 18
    • 18
    • core-libs
    • None
    • b32

        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.

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

                Created:
                Updated:
                Resolved: