diff -r e0041b182e31 -r a2008587c13f src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java --- a/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Wed Nov 08 10:27:10 2017 -0800 +++ b/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Thu Nov 16 00:58:50 2017 +0100 @@ -183,8 +183,7 @@ new java.security.PrivilegedAction<>() { public Void run() { try { - String dumpName = className; - //dumpName = dumpName.replace('/', '-'); + String dumpName = className.replace('.','/'); File dumpFile = new File(DUMP_CLASS_FILES_DIR, dumpName+".class"); System.out.println("dump: " + dumpFile); dumpFile.getParentFile().mkdirs(); @@ -630,7 +629,7 @@ String name = form.kind.methodName; switch (form.kind) { case BOUND_REINVOKER: { - name = name + "_" + BoundMethodHandle.speciesData(form).fieldSignature(); + name = name + "_" + BoundMethodHandle.speciesDataFor(form).key(); return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class); } case DELEGATE: return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class);