--- old/src/share/vm/opto/loopopts.cpp 2015-03-17 10:09:04.838560969 +0100 +++ new/src/share/vm/opto/loopopts.cpp 2015-03-17 10:09:04.498989639 +0100 @@ -241,8 +241,8 @@ ProjNode* dp_proj = dp->as_Proj(); ProjNode* unc_proj = iff->as_If()->proj_out(1 - dp_proj->_con)->as_Proj(); if (exclude_loop_predicate && - (unc_proj->is_uncommon_trap_proj(Deoptimization::Reason_predicate) || - unc_proj->is_uncommon_trap_proj(Deoptimization::Reason_range_check))) { + (unc_proj->is_uncommon_trap_proj(Deoptimization::Reason_predicate) != NULL || + unc_proj->is_uncommon_trap_proj(Deoptimization::Reason_range_check) != NULL)) { // If this is a range check (IfNode::is_range_check), do not // reorder because Compile::allow_range_check_smearing might have // changed the check.