[16] RFR(M) 8252188: Crash in OrINode::Ideal(PhaseGVN*, bool)+0x8b9

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Sep 3 21:43:42 UTC 2020


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