src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java

Print this page
rev 17771 : 8184777: species logic for BoundMethodHandle doesn't scale, needs refactor

*** 181,191 **** if (DUMP_CLASS_FILES) { java.security.AccessController.doPrivileged( new java.security.PrivilegedAction<>() { public Void run() { try { ! String dumpName = className; //dumpName = dumpName.replace('/', '-'); File dumpFile = new File(DUMP_CLASS_FILES_DIR, dumpName+".class"); System.out.println("dump: " + dumpFile); dumpFile.getParentFile().mkdirs(); FileOutputStream file = new FileOutputStream(dumpFile); --- 181,191 ---- if (DUMP_CLASS_FILES) { java.security.AccessController.doPrivileged( new java.security.PrivilegedAction<>() { public Void run() { try { ! String dumpName = className.replace('.','/'); //dumpName = dumpName.replace('/', '-'); File dumpFile = new File(DUMP_CLASS_FILES_DIR, dumpName+".class"); System.out.println("dump: " + dumpFile); dumpFile.getParentFile().mkdirs(); FileOutputStream file = new FileOutputStream(dumpFile);
*** 628,638 **** return null; } String name = form.kind.methodName; switch (form.kind) { case BOUND_REINVOKER: { ! name = name + "_" + BoundMethodHandle.speciesData(form).fieldSignature(); return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class); } case DELEGATE: return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class); case ZERO: // fall-through case IDENTITY: { --- 628,638 ---- return null; } String name = form.kind.methodName; switch (form.kind) { case BOUND_REINVOKER: { ! name = name + "_" + BoundMethodHandle.formSpeciesData(form).key(); return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class); } case DELEGATE: return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class); case ZERO: // fall-through case IDENTITY: {