RFR (XS): CR 8004330: Add missing Unsafe entry points for addAndGet() family

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Jan 9 14:44:18 PST 2013


(resending to all lists)

It is in promoted build jdk8b71 already:

http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/8cf5b18488d1

Vladimir

On 1/9/13 1:17 PM, Chris Hegarty wrote:
>
> On 20 Dec 2012, at 19:21, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>> Looks good for me. I will sponsor these changes after we get a review from JDK side.
>
> Have I missed something, or are these changes not already in?
>
> -Chris
>
>>
>> Thanks,
>> Vladimir
>>
>> On 12/20/12 11:03 AM, Aleksey Shipilev wrote:
>>> Hi,
>>>
>>> Sorry for cross-list posting, but this change affects both HS and JDK.
>>>
>>> This simple change is missing from recently committed CR 7023898. While
>>> the VM support is there in Hotspot, no methods are exposed in Unsafe to
>>> actually make use of those intrinsics. This is the webrev fixing that:
>>>    http://cr.openjdk.java.net/~shade/8004330/webrev.00/
>>>
>>> It turns out the getAndSet intrinsics HotSpot are overloaded, which had
>>> deluged both Doug and me in the previous patch. These namings are
>>> inconsistent with other Unsafe intrinsic naming convention, so this
>>> change fixes that as well.
>>>
>>> Testing:
>>>    - Built and tested in Linux x86_64
>>>    - java-concurrency-torture [1] atomicity tests are passed for
>>> AtomicIntegerV8 [2] and AtomicLongV8 [3] making use of those intrinsics
>>> on Linux x86_64
>>>    - running the java-concurrency-torture tests "-XX:+PrintInlining |
>>> grep Unsafe" tells all intrinsics have been successfully inlined
>>>    - no other testing is expected for this trivial change.
>>>
>>> I would need a sponsor to push this. Thanks for your patience and reviews!
>>>
>>> Contributors:
>>>    - dl: original patch, testing
>>>    - shade: due diligence, messing with reviews, tests, and rebuilds
>>>
>>> -Aleksey.
>>>
>>> [1] https://github.com/shipilev/java-concurrency-torture/
>>> [2]
>>> https://github.com/shipilev/java-concurrency-torture/blob/master/src/main/java/org/openjdk/concurrent/torture/tests/atomics/integer/AtomicIntegerV8PairwiseTests.java
>>> [3]
>>> https://github.com/shipilev/java-concurrency-torture/blob/master/src/main/java/org/openjdk/concurrent/torture/tests/atomics/longs/AtomicLongV8PairwiseTests.java
>>>


More information about the hotspot-compiler-dev mailing list