JDK-8135081 : Better C1 handling for VarHandles.(get|set)Opaque
Type:Sub-task
Component:core-libs
Sub-Component:java.lang.invoke
Priority:P4
Status:Closed
Resolution:Fixed
Submitted:2015-09-04
Updated:2015-09-15
Resolved:2015-09-15
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
After JDK-8134293, C1 does (get|set)Opaque by delegating to unsafe.cpp calls.
We can do better: say, a non-inlineable Java method, or a runtime stub that avoids JNI.
Comments
We should nominally delegate to volatile handlers, as unsafe.cpp does. This improves the performance significantly already.
Pushed:
http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/65b109952173