Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:redwil:15.4
java-15-openjdk
JDK-8258946.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File JDK-8258946.patch of Package java-15-openjdk
diff --git a/src/hotspot/share/opto/ifnode.cpp b/src/hotspot/share/opto/ifnode.cpp index 2e0416c5b4b..7f8c36ee502 100644 --- a/src/hotspot/share/opto/ifnode.cpp +++ b/src/hotspot/share/opto/ifnode.cpp @@ -632,7 +632,7 @@ const TypeInt* IfNode::filtered_int_type(PhaseGVN* gvn, Node* val, Node* if_proj return cmp2_t; case BoolTest::lt: lo = TypeInt::INT->_lo; - if (hi - 1 < hi) { + if (hi != min_jint) { hi = hi - 1; } break; @@ -640,7 +640,7 @@ const TypeInt* IfNode::filtered_int_type(PhaseGVN* gvn, Node* val, Node* if_proj lo = TypeInt::INT->_lo; break; case BoolTest::gt: - if (lo + 1 > lo) { + if (lo != max_jint) { lo = lo + 1; } hi = TypeInt::INT->_hi; diff --git a/src/hotspot/share/opto/loopTransform.cpp b/src/hotspot/share/opto/loopTransform.cpp index 9f5a70afc40..d0c2b298583 100644 --- a/src/hotspot/share/opto/loopTransform.cpp +++ b/src/hotspot/share/opto/loopTransform.cpp @@ -820,12 +820,12 @@ bool IdealLoopTree::policy_unroll(PhaseIdealLoop *phase) { const TypeInt* iv_type = phase->_igvn.type(phi)->is_int(); int next_stride = stride_con * 2; // stride after this unroll if (next_stride > 0) { - if (iv_type->_lo + next_stride <= iv_type->_lo || // overflow + if (iv_type->_lo > max_jint - next_stride || // overflow iv_type->_lo + next_stride > iv_type->_hi) { return false; // over-unrolling } } else if (next_stride < 0) { - if (iv_type->_hi + next_stride >= iv_type->_hi || // overflow + if (iv_type->_hi < min_jint - next_stride || // overflow iv_type->_hi + next_stride < iv_type->_lo) { return false; // over-unrolling } @@ -836,8 +836,8 @@ bool IdealLoopTree::policy_unroll(PhaseIdealLoop *phase) { // After unroll limit will be adjusted: new_limit = limit-stride. // Bailout if adjustment overflow. const TypeInt* limit_type = phase->_igvn.type(limit_n)->is_int(); - if ((stride_con > 0 && ((limit_type->_hi - stride_con) >= limit_type->_hi)) || - (stride_con < 0 && ((limit_type->_lo - stride_con) <= limit_type->_lo))) + if ((stride_con > 0 && ((min_jint + stride_con) > limit_type->_hi)) || + (stride_con < 0 && ((max_jint + stride_con) < limit_type->_lo))) return false; // overflow // Adjust body_size to determine if we unroll or not diff --git a/src/hotspot/share/opto/parse2.cpp b/src/hotspot/share/opto/parse2.cpp index b63a0592174..2c984bc1dff 100644 --- a/src/hotspot/share/opto/parse2.cpp +++ b/src/hotspot/share/opto/parse2.cpp @@ -543,7 +543,7 @@ void Parse::do_lookupswitch() { } prev = match_int+1; } - if (prev-1 != max_jint) { + if (prev != min_jint) { defaults += (float)max_jint - prev + 1; } float default_cnt = 1;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor