# HG changeset patch # User Christian Wimmer # Date 1354646958 28800 # Node ID 04632e376bd8c81ea8a498ba42fc9e1d8d0e7ac4 # Parent b16fdf354ba5d08079e816ad8e7944675ab79b1f Provide Thread context class loader to getMirrorOrFail. This is a workaround until the Graal API is complete enough so that getMirrorOrFail is not necessary at all. diff -r b16fdf354ba5 -r 04632e376bd8 graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetIntrinsificationPhase.java --- a/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetIntrinsificationPhase.java Tue Dec 04 10:46:21 2012 -0800 +++ b/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetIntrinsificationPhase.java Tue Dec 04 10:49:18 2012 -0800 @@ -85,7 +85,7 @@ int count = signature.getParameterCount(false); Class[] result = new Class< ? >[count]; for (int i = 0; i < result.length; ++i) { - result[i] = getMirrorOrFail(signature.getParameterType(i, accessingClass).resolve(accessingClass), null); + result[i] = getMirrorOrFail(signature.getParameterType(i, accessingClass).resolve(accessingClass), Thread.currentThread().getContextClassLoader()); } return result; } @@ -126,7 +126,7 @@ } // Call the method - Constant constant = callMethod(target.getSignature().getReturnKind(), getMirrorOrFail(declaringClass, null), target.getName(), parameterTypes, receiver, arguments); + Constant constant = callMethod(target.getSignature().getReturnKind(), getMirrorOrFail(declaringClass, Thread.currentThread().getContextClassLoader()), target.getName(), parameterTypes, receiver, arguments); if (constant != null) { // Replace the invoke with the result of the call @@ -191,7 +191,7 @@ private static Class< ? > getNodeClass(ResolvedJavaMethod target, NodeIntrinsic intrinsic) { Class< ? > result = intrinsic.value(); if (result == NodeIntrinsic.class) { - return getMirrorOrFail(target.getDeclaringClass(), null); + return getMirrorOrFail(target.getDeclaringClass(), Thread.currentThread().getContextClassLoader()); } assert Node.class.isAssignableFrom(result); return result;