RFR(S): 8151818: C1: LIRGenerator::move_to_phi can't deal with illegal phi

Igor Veresov igor.veresov at oracle.com
Mon Mar 14 19:16:25 UTC 2016

Seems fine.


> On Mar 14, 2016, at 8:50 AM, Doerr, Martin <martin.doerr at sap.com> wrote:
> Sorry, I had pasted the wrong link to the webrev:
> http://cr.openjdk.java.net/~mdoerr/8151818_c1_illegal_phi/webrev.00/ <http://cr.openjdk.java.net/~mdoerr/8151818_c1_illegal_phi/webrev.00/>
> From: Doerr, Martin 
> Sent: Montag, 14. März 2016 16:49
> To: hotspot-compiler-dev at openjdk.java.net
> Subject: RFR(S): 8151818: C1: LIRGenerator::move_to_phi can't deal with illegal phi
> Hi,
> we found out that C1 can't deal with illegal Phi functions which propagate into other Phi functions.
> Phi functions get illegal when their inputs have different types. 
> This was observed when we activated the JVMTI capability can_access_local_variables and restored the old behavior of BlockBegin::try_merge: invalidate the phi functions instead of bailing out. 
> The function LIRGenerator::move_to_phi crashes in this case. 
> Proposed fix is to bail out as this case happens extremely rarely. Seems like it was never observed with the new behavior of BlockBegin::try_merge.
> I also improved some assertions to support locals with illegal types.
> The webrev is here:
> https://bugs.openjdk.java.net/browse/JDK-8151818 <https://bugs.openjdk.java.net/browse/JDK-8151818>
> Please review. I will also need a sponsor if this change is desired.
> Best regards,
> Martin

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

More information about the hotspot-compiler-dev mailing list