Mercurial > hg > graal-compiler
changeset 22581:86062a3363a9
fix bug in PEA that appeared for certain phi->phi dependencies
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Fri, 04 Sep 2015 15:10:21 +0200 |
parents | 4a54a3aa7152 |
children | 48558bdc9dbb |
files | graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Fri Sep 04 13:56:40 2015 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Fri Sep 04 15:10:21 2015 +0200 @@ -822,7 +822,12 @@ if (alias instanceof VirtualObjectNode) { VirtualObjectNode virtual = (VirtualObjectNode) alias; virtualObjs[i] = virtual; - if (states[i].getObjectState(virtual).isVirtual()) { + ObjectState objectState = states[i].getObjectStateOptional(virtual); + if (objectState == null) { + assert getPhiValueAt(phi, i) instanceof PhiNode : "this should only happen for phi nodes"; + return false; + } + if (objectState.isVirtual()) { if (virtualObjs[0] != alias) { uniqueVirtualObject = false; }