diff -r 172d44ffd1e5 -r 2e45af54c0f9 jdk/src/share/classes/sun/dyn/MemberName.java --- a/jdk/src/share/classes/sun/dyn/MemberName.java Mon May 11 21:09:58 2009 -0700 +++ b/jdk/src/share/classes/sun/dyn/MemberName.java Tue May 12 13:54:22 2009 -0700 @@ -450,7 +450,7 @@ for (;;) { int bufCount = MethodHandleNatives.getMembers(defc, matchName, matchSig, matchFlags, - MethodHandleNatives.asNativeCaller(lookupClass), + lookupClass, totalCount, buf); if (bufCount <= buf.length) { if (bufCount >= 0) @@ -487,14 +487,13 @@ return result; } boolean resolveInPlace(MemberName m, boolean searchSupers, Class lookupClass) { - Class caller = MethodHandleNatives.asNativeCaller(lookupClass); - MethodHandleNatives.resolve(m, caller); + MethodHandleNatives.resolve(m, lookupClass); if (m.isResolved()) return true; int matchFlags = m.flags | (searchSupers ? SEARCH_ALL_SUPERS : 0); String matchSig = m.getSignature(); MemberName[] buf = { m }; int n = MethodHandleNatives.getMembers(m.getDeclaringClass(), - m.getName(), matchSig, matchFlags, caller, 0, buf); + m.getName(), matchSig, matchFlags, lookupClass, 0, buf); if (n != 1) return false; return m.isResolved(); }