RFR (S): CR 8004318/JEP 171 Fences intrinsics

Kirk Pepperdine kirk at kodewerk.com
Tue Dec 4 15:13:08 PST 2012

Hi Aleksey,

I didn't think you'd take this to be an straight-forward question. This was more an expression of concern about the C++ification of the platform. I'm not so convinced we should be introducing these annotations until we have explored other options that maybe more suitable for Java.

Right now I fear that the JEP process is being abused. Instead of opening a discussion it's seems to being used to drive singular points of view into the JVM instead of an honest discussion about alternatives. This runs counter to the openness that OpenJDK is suppose to be promoting. I am not the only one that has expressed concerns about the direction theee @Contended and this JEP is taking us and those that have spoken out are not novices.... I believe you know very well that we understand false sharing, false synchronization and the importance of fences We also agree that the JMM is in need of some work because it reflects what we knew to be true when authored... but that understanding has advanced and as such so should the JMM. These JEP's are IMHO, (dirty) bandaids being used to cover over the real problem. Has anyone taken a deeper look into the impact of these JEP... because we all know that once they are in the distribution, they're not coming out.

On 2012-12-04, at 6:34 PM, Aleksey Shipilev <aleksey.shipilev at oracle.com> wrote:

> http://en.wikipedia.org/wiki/Fence_instruction
> -Aleksey.
> On 12/04/2012 09:23 PM, Kirk Pepperdine wrote:
>> I just have one question, what is a fence?
>> Regards,
>> Kirk
>> On 2012-12-03, at 11:20 PM, Aleksey Shipilev <aleksey.shipilev at oracle.com> wrote:
>>> (submitting this on behalf of Doug Lea)
>>> Hi,
>>> Please see the preliminary webrev for changes associated with JEP 171
>>> aka Fences [1]. The webrev is here:
>>> http://shipilev.net/pub/jdk/hotspot/fences/webrev-1/
>>> Testing:
>>> - built and tested on Linux x86_64
>>> - java-concurrency-torture [2] fences tests [3] passes on Linux x86_64
>>> - looking through generated assembly for torture tests
>>> Please review the code changes while this thing flies through JPRT and
>>> JEP is being "funded".
>>> Thanks,
>>> Aleksey.
>>> [1] http://openjdk.java.net/jeps/171
>>> [2] https://github.com/shipilev/java-concurrency-torture
>>> [3] java -jar concurrency-torture.jar -t ".*fences.*"

More information about the hotspot-compiler-dev mailing list