Skip to content

Commit 05854fd

Browse files
committed
8329163: C2: possible overflow in PhaseIdealLoop::extract_long_range_checks()
Reviewed-by: chagedorn, kvn
1 parent 614db2e commit 05854fd

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

src/hotspot/share/opto/loopnode.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,6 +1115,7 @@ int PhaseIdealLoop::extract_long_range_checks(const IdealLoopTree* loop, jint st
11151115
jlong scale = 0;
11161116
if (loop->is_range_check_if(if_proj, this, T_LONG, phi, range, offset, scale) &&
11171117
loop->is_invariant(range) && loop->is_invariant(offset) &&
1118+
scale != min_jlong &&
11181119
original_iters_limit / ABS(scale) >= min_iters * ABS(stride_con)) {
11191120
assert(scale == (jint)scale, "scale should be an int");
11201121
reduced_iters_limit = MIN2(reduced_iters_limit, original_iters_limit/ABS(scale));

0 commit comments

Comments
 (0)