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

Trevor Watson trevor.d.watson at oracle.com
Fri Jul 29 08:37:08 UTC 2016


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