RFR JDK-8159720 C2 failures should not prevent C1 from compiling a method

Christian Thalinger cthalinger at twitter.com
Thu Jun 16 18:55:01 UTC 2016

> On Jun 16, 2016, at 10:51 AM, Carsten Varming <varming at gmail.com> wrote:
> Dear compiler list,
> I ran into a few methods that C2 failed to compile due to their number of arguments. To my surprise C2's failure caused the methods to be executed in the interpreter; although they had previously been compiled with C1. It turns out that a few C2 failures marks a method as not compilable on all tiers. I went through all possible failures with this behavior and I don't see reasons for preventing C1 from compiling a method after C2 failed. Perhaps some of you know the reasons behind this. I wrote a small patch to prevent C2 failures from marking a method as not compilable on all tiers when tiered compilation is on.

I briefly looked at the history of that code and it’s there since the initial load into Mercurial.  Does anyone have more history on this or is this just an oversight from early-stage planning?

> I filed a bug: JDK-8159720
> and created a webrev: http://cr.openjdk.java.net/~cvarming/c2_failure_prevents_all_tiers/0/ <http://cr.openjdk.java.net/~cvarming/c2_failure_prevents_all_tiers/0/>
> Carsten

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160616/7a935df8/attachment.html>

More information about the hotspot-compiler-dev mailing list