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) {