< prev index next >

src/share/vm/opto/ifnode.cpp

Print this page

        

*** 1102,1112 **** 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); // 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++) { --- 1102,1113 ---- ctrl = up_one_dom(ctrl); } if (ctrl == fail) { Node* init_n = stack.node_at(1); assert(init_n->Opcode() == Op_ConvI2L, "unexpected first node"); ! // 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 >