# HG changeset patch # User Roland Schatz # Date 1436782799 -7200 # Node ID f1263c1233190846c2147d8e8bf57af309ac5f10 # Parent ca49ca6825a812bdf743c044fdac8c1f8ae665f8 Fix assertion in MoveResolver. diff -r ca49ca6825a8 -r f1263c123319 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/MoveResolver.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/MoveResolver.java Wed Jul 01 17:39:39 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/MoveResolver.java Mon Jul 13 12:19:59 2015 +0200 @@ -165,7 +165,15 @@ } for (int i = 0; i < mappingTo.size(); i++) { Interval interval = mappingTo.get(i); - assert !usedRegs.contains(interval.location()) || interval.location().equals(mappingFrom.get(i).location()) : "stack slots used in mappingFrom must be disjoint to mappingTo"; + assert !usedRegs.contains(interval.location()) || checkIntervalLocation(mappingFrom.get(i), interval, mappingFromOpr.get(i)) : "stack slots used in mappingFrom must be disjoint to mappingTo"; + } + } + + private static boolean checkIntervalLocation(Interval from, Interval to, Value fromOpr) { + if (from == null) { + return fromOpr != null; + } else { + return to.location().equals(from.location()); } }