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