diff -r 144b23411b51 -r f675976a61e7 src/share/vm/opto/loopopts.cpp --- a/src/share/vm/opto/loopopts.cpp Tue Nov 12 13:58:37 2013 +0100 +++ b/src/share/vm/opto/loopopts.cpp Tue Nov 12 13:47:57 2013 +0100 @@ -42,6 +42,13 @@ // so disable this for now return NULL; } + + if (n->is_MathExact()) { + // MathExact has projections that are not correctly handled in the code + // below. + return NULL; + } + int wins = 0; assert(!n->is_CFG(), ""); assert(region->is_Region(), "");