src/hotspot/share/opto/mathexactnode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/hotspot/share/opto/mathexactnode.cpp	Wed Jan 10 15:09:10 2018
--- new/src/hotspot/share/opto/mathexactnode.cpp	Wed Jan 10 15:09:10 2018

*** 116,126 **** --- 116,129 ---- bool OverflowSubLNode::will_overflow(jlong v1, jlong v2) const { return SubHelper<OverflowSubLNode>::will_overflow(v1, v2); } bool OverflowMulLNode::will_overflow(jlong val1, jlong val2) const { ! jlong result = val1 * val2; ! julong v1 = (julong) val1; + julong v2 = (julong) val2; + julong tmp = v1 * v2; + jlong result = (jlong) tmp; jlong ax = (val1 < 0 ? -val1 : val1); jlong ay = (val2 < 0 ? -val2 : val2); bool overflow = false; if ((ax | ay) & CONST64(0xFFFFFFFF00000000)) {

src/hotspot/share/opto/mathexactnode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File