RFR(S): 8213419: C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1

Roland Westrelin rwestrel at redhat.com
Wed Nov 7 12:22:30 UTC 2018


Hi Dean,

> Hi Roland.  Can you explain what happens for INT_MIN now?  It looks like 
> uabs() will return a negative number and sign_flip will be set to false.

Thanks for looking at this.

sign_flip is needed to negate the result of the shift. Multiplying by
INT_MIN only has 2 results: INT_MIN (INT_MIN * 1, INT_MIN * -1) or 0
(INT_MIN multiplied by any other value). So negation is useless because
-INT_MIN = INT_MIN.

Roland.


More information about the hotspot-compiler-dev mailing list