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.

igor

> 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