src/share/vm/opto/subnode.cpp

changeset 9637
eef07cd490d4
parent 8856
ac27a9c85bea
parent 9610
f43f77de876a
     1.1 --- a/src/share/vm/opto/subnode.cpp	Wed Jul 03 20:04:13 2019 +0800
     1.2 +++ b/src/share/vm/opto/subnode.cpp	Wed Jul 03 20:42:37 2019 +0800
     1.3 @@ -252,8 +252,8 @@
     1.4  const Type *SubINode::sub( const Type *t1, const Type *t2 ) const {
     1.5    const TypeInt *r0 = t1->is_int(); // Handy access
     1.6    const TypeInt *r1 = t2->is_int();
     1.7 -  int32 lo = r0->_lo - r1->_hi;
     1.8 -  int32 hi = r0->_hi - r1->_lo;
     1.9 +  int32 lo = java_subtract(r0->_lo, r1->_hi);
    1.10 +  int32 hi = java_subtract(r0->_hi, r1->_lo);
    1.11  
    1.12    // We next check for 32-bit overflow.
    1.13    // If that happens, we just assume all integers are possible.
    1.14 @@ -361,8 +361,8 @@
    1.15  const Type *SubLNode::sub( const Type *t1, const Type *t2 ) const {
    1.16    const TypeLong *r0 = t1->is_long(); // Handy access
    1.17    const TypeLong *r1 = t2->is_long();
    1.18 -  jlong lo = r0->_lo - r1->_hi;
    1.19 -  jlong hi = r0->_hi - r1->_lo;
    1.20 +  jlong lo = java_subtract(r0->_lo, r1->_hi);
    1.21 +  jlong hi = java_subtract(r0->_hi, r1->_lo);
    1.22  
    1.23    // We next check for 32-bit overflow.
    1.24    // If that happens, we just assume all integers are possible.

mercurial