diff -r 16f7b676725a -r 535618ab1c04 src/share/vm/opto/phaseX.cpp --- a/src/share/vm/opto/phaseX.cpp Mon Jan 25 08:46:19 2016 +0000 +++ b/src/share/vm/opto/phaseX.cpp Wed Jan 27 09:02:51 2016 +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()) }