Mercurial > hg > truffle
changeset 10039:92cbc5e88484
Do not virtualize when locks do not match at merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 14 Jun 2013 12:11:19 +0200 |
parents | 9645cfaffc62 |
children | 6b34d50d3d24 |
files | graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java |
diffstat | 1 files changed, 1 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Fri Jun 14 11:16:08 2013 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Fri Jun 14 12:11:19 2013 +0200 @@ -349,9 +349,7 @@ locksMatch &= obj.locksEqual(startObj); } - assert virtual < states.size() || locksMatch : "mismatching lock counts at " + merge; - - if (virtual < states.size()) { + if (virtual < states.size() || !locksMatch) { if (singleValue == null) { PhiNode materializedValuePhi = getCachedPhi(object, Kind.Object); mergeEffects.addFloatingNode(materializedValuePhi, "materializedPhi");