src/share/vm/opto/subnode.cpp

changeset 8435
64bd5b63923c
parent 7394
5b8e0f84f00f
child 8604
04d83ba48607
child 8797
37ba410ffd43
     1.1 --- a/src/share/vm/opto/subnode.cpp	Mon Apr 25 11:36:14 2016 +0200
     1.2 +++ b/src/share/vm/opto/subnode.cpp	Tue May 24 18:42:01 2016 +0300
     1.3 @@ -547,8 +547,12 @@
     1.4      // All unsigned values are LE -1 and GE 0.
     1.5      if (lo0 == 0 && hi0 == 0) {
     1.6        return TypeInt::CC_LE;            //   0 <= bot
     1.7 +    } else if ((jint)lo0 == -1 && (jint)hi0 == -1) {
     1.8 +      return TypeInt::CC_GE;            // -1 >= bot
     1.9      } else if (lo1 == 0 && hi1 == 0) {
    1.10        return TypeInt::CC_GE;            // bot >= 0
    1.11 +    } else if ((jint)lo1 == -1 && (jint)hi1 == -1) {
    1.12 +      return TypeInt::CC_LE;            // bot <= -1
    1.13      }
    1.14    } else {
    1.15      // We can use ranges of the form [lo..hi] if signs are the same.

mercurial