Mercurial > hg > truffle
changeset 19862:e808c8324035
Support optional last access location in the scheduler phase.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sun, 15 Mar 2015 16:22:37 +0100 |
parents | 7d933ffe6df6 |
children | bd953f563517 c3d9637c98ed |
files | graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java |
diffstat | 1 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Sun Mar 15 14:22:50 2015 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Sun Mar 15 16:22:37 2015 +0100 @@ -547,8 +547,9 @@ if (n instanceof FloatingReadNode) { FloatingReadNode floatingReadNode = (FloatingReadNode) n; LocationIdentity locationIdentity = floatingReadNode.getLocationIdentity(); - if (locationIdentity.isMutable()) { - ValueNode lastAccessLocation = floatingReadNode.getLastLocationAccess().asNode(); + MemoryNode lastLocationAccess = floatingReadNode.getLastLocationAccess(); + if (locationIdentity.isMutable() && lastLocationAccess != null) { + ValueNode lastAccessLocation = lastLocationAccess.asNode(); if (nodeToBlock.get(lastAccessLocation) == b && lastAccessLocation != beginNode) { // This node's last access location is within this block. Add to watch list // when processing the last access location.