[16] RFR(M) 8252188: Crash in OrINode::Ideal(PhaseGVN*, bool)+0x8b9
Tobias Hartmann
tobias.hartmann at oracle.com
Fri Sep 4 05:58:41 UTC 2020
Hi Vladimir,
looks good to me.
Some minor comments:
- This notation is confusing "0/{32|64}" (looks like a division). I think it should be something
like "{0|32|64}".
- Extra whitespaces in the lines with "return new" and "val , " should be removed.
Best regards,
Tobias
On 03.09.20 23:43, Vladimir Kozlov wrote:
> https://cr.openjdk.java.net/~kvn/8252188/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8252188
>
> Code added by 8248830 [1] uses Node::is_Con() check when looking for constant shift values.
> Unfortunately it does not guarantee that it will be Integer constant because TOP node is also ConNode.
> I used C2 types to check and get shift values. I also refactor code to consolidate checks.
>
> Tested: tier1, hs-tier2, hs-tier3.
> Verified fix with replay file from bug report.
> I also checked that RotateBenchmark.java added by 8248830 still creates Rotate vectors after this fix.
>
> I created subtask to add new regerssion test later because this fix is urgent and I did not have
> time to prepare it.
>
> Thanks,
> Vladimir
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8248830
More information about the hotspot-compiler-dev
mailing list