JDK-8218885 : Restore pop_frame and force_early_return functionality for Graal
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.
pop_frame and force_early_return caps were disabled if JVMCI compiler is used (by JDK-8218025)
Need to re-enable them after fixing corresponding bugs.
There is a comment in JDK-8218403:
Dean Long added a comment - 2019-02-04 18:56
Here's a patch to popframe009 to demonstrate the problem with C1/C2 and -Xcomp:
[~never] I'm trying to refresh my memory. My last comment in 8195635 says the "The problem with -Xcomp (JDK-8218403) still exists. The original problem with adjust_comp_level() is gone now". Then rereading 8218403, the only example it gives is adjustCompilationLevel(), so perhaps there is still a theoretical problem but no practical way to reproduce it anymore. So I'd say it's probably safe to undo this change now.
I vaguely remember that wait_for_jvmci_completion() might have been involved in some scenarios (one way JVMCI is still different from other compilers), but I can't remember the details and that code has changed.
This has just popped up for us an issue as people are using graal on JDK 17. I believe the original problem was caused by Graal's use of the adjustCompilationLevel callback which has since been removed by JDK-8219403. We'd like to undo this change since we should be have the same as C1/C2 in this regard now. Is there any way to test or confirm this now that Graal has been removed? I guess if I could mach5 test a pre graal removal and post adjustCompilationLevel removal version hotspot that would confirm it. I'm not really sure that it's really necessary anymore since we're not really different than the other compilers now. cc [~dlong]