Mercurial > hg > truffle
changeset 12964:36e17466dd39
Merge
author | rbackman |
---|---|
date | Tue, 22 Oct 2013 14:02:15 +0000 |
parents | 5ccbab1c69f3 (current diff) 435c7b4577cd (diff) |
children | 8b4bbba322d3 |
files | |
diffstat | 1 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/opto/compile.cpp Tue Oct 22 09:51:47 2013 +0200 +++ b/src/share/vm/opto/compile.cpp Tue Oct 22 14:02:15 2013 +0000 @@ -3006,10 +3006,15 @@ if (result != NULL) { for (DUIterator_Fast jmax, j = result->fast_outs(jmax); j < jmax; j++) { Node* out = result->fast_out(j); - if (out->in(0) == NULL) { - out->set_req(0, non_throwing); - } else if (out->in(0) == ctrl) { - out->set_req(0, non_throwing); + // 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()) { + if (out->in(0) == NULL) { + out->set_req(0, non_throwing); + } else if (out->in(0) == ctrl) { + out->set_req(0, non_throwing); + } } } }