-
Sub-task
-
Resolution: Fixed
-
P4
-
None
-
None
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 ofJDK-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.
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
- relates to
-
JDK-8135081 Better C1 handling for VarHandles.(get|set)Opaque
-
- Closed
-
-
JDK-8130398 Coalesce prolog and epilog for empty methods
-
- Closed
-