--- old/src/java.base/share/classes/java/lang/invoke/MemberName.java 2018-11-26 16:24:46.000000000 -0800 +++ new/src/java.base/share/classes/java/lang/invoke/MemberName.java 2018-11-26 16:24:45.000000000 -0800 @@ -191,10 +191,11 @@ */ public MethodType getInvocationType() { MethodType itype = getMethodOrFieldType(); + Class c = clazz.isValue() ? clazz.asValueType() : clazz; if (isConstructor() && getReferenceKind() == REF_newInvokeSpecial) - return itype.changeReturnType(clazz); + return itype.changeReturnType(c); if (!isStatic()) - return itype.insertParameterTypes(0, clazz); + return itype.insertParameterTypes(0, c); return itype; }