Mercurial > hg > graal-compiler
changeset 23046:123324a0f36f
Backed out changeset 32b610195367
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Sat, 21 Nov 2015 02:09:20 +0100 |
parents | 32b610195367 |
children | 7be98e30bc80 |
files | graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java |
diffstat | 1 files changed, 3 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Fri Nov 20 23:23:19 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Sat Nov 21 02:09:20 2015 +0100 @@ -96,7 +96,6 @@ import com.oracle.graal.nodes.java.LoweredAtomicReadAndWriteNode; import com.oracle.graal.nodes.java.LoweredCompareAndSwapNode; import com.oracle.graal.nodes.java.MonitorEnterNode; -import com.oracle.graal.nodes.java.MonitorExitNode; import com.oracle.graal.nodes.java.MonitorIdNode; import com.oracle.graal.nodes.java.NewArrayNode; import com.oracle.graal.nodes.java.NewInstanceNode; @@ -391,25 +390,14 @@ protected void lowerMonitorEnterNode(MonitorEnterNode monitorEnter, LoweringTool tool, StructuredGraph graph) { ValueNode object = monitorEnter.object(); GuardingNode nullCheck = createNullCheck(object, monitorEnter, tool); - ValueNode nonNullObject; if (nullCheck != null) { - nonNullObject = graph.unique(new PiNode(object, ((ObjectStamp) object.stamp()).improveWith(StampFactory.objectNonNull()), (ValueNode) nullCheck)); - } else { - nonNullObject = object; + object = graph.unique(new PiNode(object, ((ObjectStamp) object.stamp()).improveWith(StampFactory.objectNonNull()), (ValueNode) nullCheck)); } - ValueNode hub = graph.addOrUnique(LoadHubNode.create(nonNullObject, tool.getStampProvider(), tool.getMetaAccess())); - MonitorIdNode monitor = monitorEnter.getMonitorId(); - RawMonitorEnterNode rawMonitorEnter = graph.add(new RawMonitorEnterNode(nonNullObject, hub, monitor)); + ValueNode hub = graph.addOrUnique(LoadHubNode.create(object, tool.getStampProvider(), tool.getMetaAccess())); + RawMonitorEnterNode rawMonitorEnter = graph.add(new RawMonitorEnterNode(object, hub, monitorEnter.getMonitorId())); rawMonitorEnter.setStateBefore(monitorEnter.stateBefore()); rawMonitorEnter.setStateAfter(monitorEnter.stateAfter()); graph.replaceFixedWithFixed(monitorEnter, rawMonitorEnter); - - // Monitor exit must operate on the same input to the monitor enter - if (object != nonNullObject) { - for (MonitorExitNode exit : monitor.usages().filter(MonitorExitNode.class)) { - exit.replaceFirstInput(object, nonNullObject); - } - } } protected void lowerCompareAndSwapNode(CompareAndSwapNode cas) {