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


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.


More information about the hotspot-compiler-dev mailing list