RFR(S): 8151818: C1: LIRGenerator::move_to_phi can't deal with illegal phi
Doerr, Martin
martin.doerr at sap.com
Thu Mar 24 09:21:34 UTC 2016
Hi Vladimir,
thanks for reviewing and your support.
Best regards,
Martin
-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Mittwoch, 23. März 2016 03:07
To: Doerr, Martin <martin.doerr at sap.com>
Cc: hotspot-compiler-dev at openjdk.java.net
Subject: Re: RFR(S): 8151818: C1: LIRGenerator::move_to_phi can't deal with illegal phi
Reviewed. I submitted testing and will push when testing passed.
Thanks,
Vladimir
On 3/18/16 1:36 AM, Doerr, Martin wrote:
> Thanks for reviewing.
>
> Can I get a second review and a sponsor, please?
>
> Best regards,
>
> Martin
>
> *From:*Igor Veresov [mailto:igor.veresov at oracle.com]
> *Sent:* Montag, 14. März 2016 20:16
> *To:* Doerr, Martin <martin.doerr at sap.com <mailto:martin.doerr at sap.com>>
> *Cc:* hotspot-compiler-dev at openjdk.java.net <mailto:hotspot-compiler-dev at openjdk.java.net>
> *Subject:* Re: RFR(S): 8151818: C1: LIRGenerator::move_to_phi can't deal with illegal phi
>
> Seems fine.
>
> igor
>
> On Mar 14, 2016, at 8:50 AM, Doerr, Martin <martin.doerr at sap.com <mailto: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/
>
> *From:*Doerr, Martin
> *Sent:*Montag, 14. März 2016 16:49
> *To:*hotspot-compiler-dev at openjdk.java.net <mailto: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
>
> Please review. I will also need a sponsor if this change is desired.
>
> Best regards,
>
> Martin
>
More information about the hotspot-compiler-dev
mailing list