RFR: JDK-8141634 Implement VarHandles/Unsafe intrinsics on SPARC

Trevor Watson trevor.d.watson at oracle.com
Wed Aug 3 09:03:20 UTC 2016


Thanks Vladimir!

On 03/08/16 00:42, Vladimir Kozlov wrote:
> Looks good. Our group will sponsor it.
>
> Thanks,
> Vladimir
>
> On 7/29/16 1:37 AM, Trevor Watson wrote:
>> Summary:
>>
>> SPARC assembler implementations of the compareAndExchange* intrinsics
>> and the addition of the WeakCompareAndSwap* matchers.
>>
>> Have successfully run the 'gmake test' target and the benchmarks
>> mentioned in the bug report.
>>
>> Benchmarks for the compareAndExchange* intrinsic operations now show
>> an approximate 9x-20x improvement:
>>
>> Before:
>> Benchmark                               Mode  Cnt    Score    Error
>> Units
>> caeAcquire.IntTest.varHandle            avgt   15  351.933 ?  7.161
>> ns/op
>> caeAcquire.LongTest.varHandle           avgt   15  435.872 ?  3.129
>> ns/op
>> caeAcquire.ObjectTest.varHandle         avgt   15  975.728 ? 88.362
>> ns/op
>> caeRelease.IntTest.varHandle            avgt   15  346.391 ?  2.798
>> ns/op
>> caeRelease.LongTest.varHandle           avgt   15  439.734 ?  9.739
>> ns/op
>> caeRelease.ObjectTest.varHandle         avgt   15  934.279 ? 19.454
>> ns/op
>> caeVolatile.IntTest.varHandle           avgt   15  346.076 ?  1.771
>> ns/op
>> caeVolatile.LongTest.varHandle          avgt   15  436.788 ?  1.825
>> ns/op
>> caeVolatile.ObjectTest.varHandle        avgt   15  935.250 ? 59.526
>> ns/op
>>
>> With new intrinsic implementation:
>> caeAcquire.IntTest.varHandle            avgt   15   38.514 ? 0.974  ns/op
>> caeAcquire.LongTest.varHandle           avgt   15   38.411 ? 0.359  ns/op
>> caeAcquire.ObjectTest.varHandle         avgt   15   42.616 ? 0.916  ns/op
>> caeRelease.IntTest.varHandle            avgt   15   38.235 ? 0.185  ns/op
>> caeRelease.LongTest.varHandle           avgt   15   38.165 ? 0.145  ns/op
>> caeRelease.ObjectTest.varHandle         avgt   15   42.320 ? 0.156  ns/op
>> caeVolatile.IntTest.varHandle           avgt   15   38.321 ? 0.221  ns/op
>> caeVolatile.LongTest.varHandle          avgt   15   38.270 ? 0.198  ns/op
>> caeVolatile.ObjectTest.varHandle        avgt   15   42.541 ? 0.720  ns/op
>>
>>
>> Webrev: http://cr.openjdk.java.net/~alanbur/JDK-8141634/
>> Bug link: https://bugs.openjdk.java.net/browse/JDK-8141634


More information about the hotspot-dev mailing list