Mercurial > hg > truffle
changeset 12963:435c7b4577cd
8026959: assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here
Reviewed-by: iveresov, roland
author | rbackman |
---|---|
date | Mon, 21 Oct 2013 15:31:16 +0200 |
parents | 4748b3308cda |
children | 36e17466dd39 |
files | src/share/vm/opto/compile.cpp |
diffstat | 1 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/opto/compile.cpp Mon Oct 21 17:34:27 2013 -0700 +++ b/src/share/vm/opto/compile.cpp Mon Oct 21 15:31:16 2013 +0200 @@ -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); + } } } }