comparison graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java @ 19306:a0a760b0fb5f

pulled method evolution dependencies out of Assumptions and directly into StructuredGraph
author Doug Simon <doug.simon@oracle.com>
date Thu, 12 Feb 2015 01:54:05 +0100
parents 8ab925a6f724
children 7e2c87dae93e
comparison
equal deleted inserted replaced
19305:48bdad77afcd 19306:a0a760b0fb5f
30 import com.oracle.graal.api.meta.*; 30 import com.oracle.graal.api.meta.*;
31 import com.oracle.graal.debug.*; 31 import com.oracle.graal.debug.*;
32 import com.oracle.graal.debug.Debug.Scope; 32 import com.oracle.graal.debug.Debug.Scope;
33 import com.oracle.graal.nodeinfo.*; 33 import com.oracle.graal.nodeinfo.*;
34 import com.oracle.graal.nodes.*; 34 import com.oracle.graal.nodes.*;
35 import com.oracle.graal.nodes.StructuredGraph.AllowAssumptions;
35 import com.oracle.graal.nodes.java.*; 36 import com.oracle.graal.nodes.java.*;
36 import com.oracle.graal.nodes.spi.*; 37 import com.oracle.graal.nodes.spi.*;
37 import com.oracle.graal.nodes.type.*; 38 import com.oracle.graal.nodes.type.*;
38 import com.oracle.graal.replacements.nodes.*; 39 import com.oracle.graal.replacements.nodes.*;
39 40
70 assert false : "unhandled array type " + type.getComponentType().getKind(); 71 assert false : "unhandled array type " + type.getComponentType().getKind();
71 } else { 72 } else {
72 Assumptions assumptions = graph().getAssumptions(); 73 Assumptions assumptions = graph().getAssumptions();
73 type = getConcreteType(getObject().stamp(), assumptions, tool.getMetaAccess()); 74 type = getConcreteType(getObject().stamp(), assumptions, tool.getMetaAccess());
74 if (type != null) { 75 if (type != null) {
75 StructuredGraph newGraph = new StructuredGraph(assumptions.useOptimisticAssumptions()); 76 StructuredGraph newGraph = new StructuredGraph(AllowAssumptions.from(assumptions != null));
76 ParameterNode param = newGraph.unique(new ParameterNode(0, getObject().stamp())); 77 ParameterNode param = newGraph.unique(new ParameterNode(0, getObject().stamp()));
77 NewInstanceNode newInstance = newGraph.add(new NewInstanceNode(type, true)); 78 NewInstanceNode newInstance = newGraph.add(new NewInstanceNode(type, true));
78 newGraph.addAfterFixed(newGraph.start(), newInstance); 79 newGraph.addAfterFixed(newGraph.start(), newInstance);
79 ReturnNode returnNode = newGraph.add(new ReturnNode(newInstance)); 80 ReturnNode returnNode = newGraph.add(new ReturnNode(newInstance));
80 newGraph.addAfterFixed(newInstance, returnNode); 81 newGraph.addAfterFixed(newInstance, returnNode);