RFR(S): 8135069: C2 replaces range checks by unsigned comparison with -1
Roland Westrelin
roland.westrelin at oracle.com
Mon Sep 14 12:28:53 UTC 2015
http://cr.openjdk.java.net/~roland/8135069/webrev.00/
Another corner case that’s not handled correctly by the code that folds 2 consecutive integer comparisons into a single unsigned comparison:
i < 0 || i > -1 is folded as i >u -1. It should be i >=u 0. I refactored the code so it’s easier to relate the comments and the logic.
Roland.
More information about the hotspot-compiler-dev
mailing list