RFR(S): 8151818: C1: LIRGenerator::move_to_phi can't deal with illegal phi
igor.veresov at oracle.com
Mon Mar 14 19:16:25 UTC 2016
> 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
> 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,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev