diff -r 9e2483e6cfab -r 3b891698c4ec jdk/src/share/classes/sun/dyn/FromGeneric.java --- a/jdk/src/share/classes/sun/dyn/FromGeneric.java Fri Feb 11 01:26:24 2011 -0800 +++ b/jdk/src/share/classes/sun/dyn/FromGeneric.java Fri Feb 11 01:26:28 2011 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,6 +28,7 @@ import java.dyn.*; import java.lang.reflect.*; import sun.dyn.util.*; +import static sun.dyn.MethodTypeImpl.invokers; /** * Adapters which mediate between incoming calls which are generic @@ -128,7 +129,7 @@ MethodType targetType, MethodType internalType) { // All the adapters we have here have reference-untyped internal calls. assert(internalType == internalType.erase()); - MethodHandle invoker = MethodHandles.exactInvoker(targetType); + MethodHandle invoker = invokers(targetType).exactInvoker(); // cast all narrow reference types, unbox all primitive arguments: MethodType fixArgsType = internalType.changeReturnType(targetType.returnType()); MethodHandle fixArgs = AdapterMethodHandle.convertArguments(Access.TOKEN,