comparison graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.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 a7247418a58b
comparison
equal deleted inserted replaced
19305:48bdad77afcd 19306:a0a760b0fb5f
122 ResolvedJavaMethod resolvedMethod = type.resolveConcreteMethod(targetMethod, contextType); 122 ResolvedJavaMethod resolvedMethod = type.resolveConcreteMethod(targetMethod, contextType);
123 if (resolvedMethod != null && (resolvedMethod.canBeStaticallyBound() || StampTool.isExactType(receiver) || type.isArray())) { 123 if (resolvedMethod != null && (resolvedMethod.canBeStaticallyBound() || StampTool.isExactType(receiver) || type.isArray())) {
124 return resolvedMethod; 124 return resolvedMethod;
125 } 125 }
126 Assumptions assumptions = receiver.graph().getAssumptions(); 126 Assumptions assumptions = receiver.graph().getAssumptions();
127 if (assumptions.useOptimisticAssumptions()) { 127 if (assumptions != null) {
128 ResolvedJavaType uniqueConcreteType = type.findUniqueConcreteSubtype(); 128 ResolvedJavaType uniqueConcreteType = type.findUniqueConcreteSubtype();
129 if (uniqueConcreteType != null) { 129 if (uniqueConcreteType != null) {
130 ResolvedJavaMethod methodFromUniqueType = uniqueConcreteType.resolveConcreteMethod(targetMethod, contextType); 130 ResolvedJavaMethod methodFromUniqueType = uniqueConcreteType.resolveConcreteMethod(targetMethod, contextType);
131 if (methodFromUniqueType != null) { 131 if (methodFromUniqueType != null) {
132 assumptions.recordConcreteSubtype(type, uniqueConcreteType); 132 assumptions.recordConcreteSubtype(type, uniqueConcreteType);