Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8080588 VarHandles development
  3. JDK-8134293

VH.(get|set)Opaque implementations

    XMLWordPrintable

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 9
    • Component/s: core-libs
    • Labels:
      None

      Description

      As specified here:
       http://mail.openjdk.java.net/pipermail/jmm-dev/2015-August/000223.html

      I don't really like piggybacking on inlining policy to achieve the desired effect here. It's somewhat okay for scope-extending techniques a la reachabilityFence, since it is not supposed to be on a hotpath, but for (get|set)Opaque we need more performance, so MemBarCPUOrder for C2 it is.

      Method call costs around 10 additional insns, at least because of JDK-8130398. Non-inlineable method is still a good fallback for C1, which does not have explicit compiler barriers. Breaking value numbering and similar optimizations is not really reliable, given how hard it is to test (get|set)Opaque.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved: