< prev index next >
src/share/vm/opto/ifnode.cpp
Print this page
@@ -1102,11 +1102,12 @@
ctrl = up_one_dom(ctrl);
}
if (ctrl == fail) {
Node* init_n = stack.node_at(1);
assert(init_n->Opcode() == Op_ConvI2L, "unexpected first node");
- Node* new_n = igvn->C->conv_I2X_index(igvn, l, array_size);
+ // Create a new narrow ConvI2L node that is dependent on the range check
+ Node* new_n = igvn->C->conv_I2X_index(igvn, l, array_size, fail);
// The type of the ConvI2L may be widen and so the new
// ConvI2L may not be better than an existing ConvI2L
if (new_n != init_n) {
for (uint j = 2; j < stack.size(); j++) {
< prev index next >