# HG changeset patch # User Lukas Stadler # Date 1404980455 -7200 # Node ID 4584f29431be708eca954734a5b75c380e4ea3ce # Parent eff9559f4515505b609e0c5cbb36ba0a910334d5 check phi types in during PEA state merging diff -r eff9559f4515 -r 4584f29431be graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Tue Jul 08 16:25:10 2014 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Thu Jul 10 10:20:55 2014 +0200 @@ -457,6 +457,9 @@ phis[valueIndex] = new ValuePhiNode(values[valueIndex].stamp().unrestricted(), merge); } } + if (phis[valueIndex] != null && !phis[valueIndex].stamp().isCompatible(values[valueIndex].stamp())) { + phis[valueIndex] = new ValuePhiNode(values[valueIndex].stamp().unrestricted(), merge); + } if (twoSlotKinds != null && twoSlotKinds[valueIndex] != null) { // skip an entry after a long/double value that occupies two int slots valueIndex++;