src/share/vm/opto/divnode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/divnode.cpp	Mon May  5 12:29:22 2014
--- new/src/share/vm/opto/divnode.cpp	Mon May  5 12:29:22 2014

*** 512,522 **** --- 512,522 ---- const TypeInt *i1 = t1->is_int(); const TypeInt *i2 = t2->is_int(); int widen = MAX2(i1->_widen, i2->_widen); if( i2->is_con() && i2->get_con() != 0 ) { ! int32_t d = i2->get_con(); // Divisor jint lo, hi; if( d >= 0 ) { lo = i1->_lo/d; hi = i1->_hi/d; } else {
*** 534,544 **** --- 534,544 ---- return TypeInt::make(lo, hi, widen); } // If the dividend is a constant if( i1->is_con() ) { ! int32_t d = i1->get_con(); if( d < 0 ) { if( d == min_jint ) { // (-min_jint) == min_jint == (min_jint / -1) return TypeInt::make(min_jint, max_jint/2 + 1, widen); } else {

src/share/vm/opto/divnode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File