# HG changeset patch # User Gilles Duboscq # Date 1354010882 -3600 # Node ID fdcdbc3dd76cc68012d4db635e92b52fe95b73d2 # Parent 52c88c405d07989572ece4207bfb2bdc0ccdc43c HotSpotSignature.getParameterType should not try eager resolving. HotSpotSignature.getReturnType should try resolving again if the cache holds an unresolved type diff -r 52c88c405d07 -r fdcdbc3dd76c graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSignature.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSignature.java Mon Nov 26 19:30:54 2012 -0800 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSignature.java Tue Nov 27 11:08:02 2012 +0100 @@ -117,7 +117,7 @@ } JavaType type = argumentTypes[index]; if (type == null || !(type instanceof ResolvedJavaType)) { - type = HotSpotGraalRuntime.getInstance().lookupType(arguments.get(index), (HotSpotResolvedJavaType) accessingClass, true); + type = HotSpotGraalRuntime.getInstance().lookupType(arguments.get(index), (HotSpotResolvedJavaType) accessingClass, false); argumentTypes[index] = type; } return type; @@ -134,7 +134,7 @@ @Override public JavaType getReturnType(ResolvedJavaType accessingClass) { - if (returnTypeCache == null) { + if (returnTypeCache == null || !(returnTypeCache instanceof ResolvedJavaType)) { returnTypeCache = HotSpotGraalRuntime.getInstance().lookupType(returnType, (HotSpotResolvedJavaType) accessingClass, false); } return returnTypeCache;