--- old/src/share/vm/opto/phaseX.cpp 2016-01-25 10:54:50.853518980 +0100 +++ new/src/share/vm/opto/phaseX.cpp 2016-01-25 10:54:50.797518979 +0100 @@ -1339,6 +1339,10 @@ if (dead->is_expensive()) { C->remove_expensive_node(dead); } + CastIINode* cast = dead->isa_CastII(); + if (cast != NULL && cast->has_range_check()) { + C->remove_range_check_cast(cast); + } } } // while (_stack.is_nonempty()) }