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