< prev index next >
src/share/vm/opto/superword.cpp
Print this page
*** 2386,2395 ****
--- 2386,2400 ----
if (n->in(1) == iv() && n->in(2)->is_Con()) {
_scale = 1 << n->in(2)->get_int();
return true;
}
} else if (opc == Op_ConvI2L) {
+ if (n->in(1)->Opcode() == Op_CastII &&
+ n->in(1)->as_CastII()->has_range_check()) {
+ // Skip range check dependent CastII nodes
+ n = n->in(1);
+ }
if (scaled_iv_plus_offset(n->in(1))) {
return true;
}
} else if (opc == Op_LShiftL) {
if (!has_iv() && _invar == NULL) {
< prev index next >