hotspot/src/share/vm/opto/castnode.cpp
changeset 44331 61e01c0389ba
parent 42041 f316fd20ed98
child 46525 3a5c833a43de
equal deleted inserted replaced
44330:aaa5ce0d9d01 44331:61e01c0389ba
   223   if (progress != NULL) {
   223   if (progress != NULL) {
   224     return progress;
   224     return progress;
   225   }
   225   }
   226 
   226 
   227   // Similar to ConvI2LNode::Ideal() for the same reasons
   227   // Similar to ConvI2LNode::Ideal() for the same reasons
   228   if (can_reshape && !phase->C->major_progress()) {
   228   // Do not narrow the type of range check dependent CastIINodes to
       
   229   // avoid corruption of the graph if a CastII is replaced by TOP but
       
   230   // the corresponding range check is not removed.
       
   231   if (can_reshape && !_range_check_dependency && !phase->C->major_progress()) {
   229     const TypeInt* this_type = this->type()->is_int();
   232     const TypeInt* this_type = this->type()->is_int();
   230     const TypeInt* in_type = phase->type(in(1))->isa_int();
   233     const TypeInt* in_type = phase->type(in(1))->isa_int();
   231     if (in_type != NULL && this_type != NULL &&
   234     if (in_type != NULL && this_type != NULL &&
   232         (in_type->_lo != this_type->_lo ||
   235         (in_type->_lo != this_type->_lo ||
   233          in_type->_hi != this_type->_hi)) {
   236          in_type->_hi != this_type->_hi)) {