JDK-8190972 : Ensure that AOT/Graal filters out class files containing CONSTANT_Dynamic ahead of full AOT support
Type:Sub-task
Component:hotspot
Sub-Component:compiler
Affected Version:10
Priority:P3
Status:Resolved
Resolution:Fixed
Submitted:2017-11-08
Updated:2019-09-13
Resolved:2018-01-31
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.
This task is specifically to ensure that AOT/Graal can parse class files containing CONSTANT_Dynamic and decide to filter them out until full AOT/Graal support can be added for condy.
Comments
[~kvn] I'm sorry, I got confused, I thought condy should be supported in the VM in 10.
15-12-2017
[~iveresov] Igor, I do not get your statement. Condy and these changes are targeting jdk 11 not jdk 10. Why Graal in jdk 10 will have problem?
15-12-2017
But we support Graal as JIT in JDK10. Neither change does anything to prevent JITting classes with condy.
14-12-2017
Committed into the amber/condy repo see http://hg.openjdk.java.net/amber/amber/rev/db4c2914ae86
This fix will be included in JDK 11's initial commit for minimal CONSTANT_Dynamic support.
14-12-2017
Yes, it is temporary solution until JDK-8188871 implementation.
And to avoid going through Graal changes process ;)
14-12-2017
Looks good, but now that I think about it, HotSpotResolvedJavaMethodImpl.canBeInlined() seems like the better place, because it's a Graal limitation and not a JVMCI limitation. But it's only temporary, so I suppose either location is fine.
14-12-2017
Thanks, I will add it. Updated same webrev.
14-12-2017
[~kvn] You may need to add something to c2v_isCompilable() at the native level, or HotSpotResolvedJavaMethodImpl.canBeInlined() at the Java level, to prevent inlining.