Mercurial > hg > graal-jvmci-8
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); |