--- old/src/share/vm/opto/loopopts.cpp 2016-01-25 10:54:49.925518953 +0100 +++ new/src/share/vm/opto/loopopts.cpp 2016-01-25 10:54:49.865518951 +0100 @@ -772,6 +772,9 @@ #ifdef _LP64 if (m->Opcode() == Op_ConvI2L) return false; + if (m->is_CastII() && m->isa_CastII()->has_range_check()) { + return false; + } #endif } }