[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