src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/compile.cpp	Mon Nov  4 10:45:03 2013
--- new/src/share/vm/opto/compile.cpp	Mon Nov  4 10:45:03 2013

*** 3016,3035 **** --- 3016,3040 ---- for (DUIterator_Fast jmax, j = result->fast_outs(jmax); j < jmax; j++) { Node* out = result->fast_out(j); // Phi nodes shouldn't be moved. They would only match below if they // had the same control as the MathExactNode. The only time that // would happen is if the Phi is also an input to the MathExact if (!out->is_Phi()) { + // + // Cmp nodes shouldn't have control set at all. + if (out->is_Phi() || + out->is_Cmp()) { + continue; + } + if (out->in(0) == NULL) { out->set_req(0, non_throwing); } else if (out->in(0) == ctrl) { out->set_req(0, non_throwing); } } } } } break; default: assert( !n->is_Call(), "" ); assert( !n->is_Mem(), "" ); break;

src/share/vm/opto/compile.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File