Synthetic cast causes generation of store barriers when using heap segments

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P3
    • 18
    • Affects Version/s: 18
    • Component/s: 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.

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

                Created:
                Updated:
                Resolved: