# HG changeset patch # User Thomas Wuerthinger # Date 1358379704 -3600 # Node ID 57e651659b4d9b4704d39b6e40cb0a848bfe4bfa # Parent bf7a1be7c709b8226a55c6c64c646192f85f7de7 Fix for lock elimination phase. diff -r bf7a1be7c709 -r 57e651659b4d graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LockEliminationPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LockEliminationPhase.java Thu Jan 17 00:24:36 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LockEliminationPhase.java Thu Jan 17 00:41:44 2013 +0100 @@ -37,8 +37,9 @@ if (next instanceof MonitorEnterNode) { MonitorEnterNode monitorEnterNode = (MonitorEnterNode) next; if (monitorEnterNode.object() == node.object()) { + FixedNode monitorEnterSuccessor = monitorEnterNode.next(); monitorEnterNode.setNext(null); - ((FixedWithNextNode) node.predecessor()).setNext(monitorEnterNode.next()); + ((FixedWithNextNode) node.predecessor()).setNext(monitorEnterSuccessor); FrameState stateAfterFirst = node.stateAfter(); FrameState stateAfterSecond = monitorEnterNode.stateAfter(); node.safeDelete();