1.1 --- a/src/share/vm/opto/subnode.cpp Wed Jan 30 17:32:47 2019 +0000 1.2 +++ b/src/share/vm/opto/subnode.cpp Fri Feb 01 10:47:30 2019 +0100 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.