< prev index next >

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

Print this page




 150             DUMP_CLASS_FILES_COUNTERS = new HashMap<>();
 151             try {
 152                 File dumpDir = new File("DUMP_CLASS_FILES");
 153                 if (!dumpDir.exists()) {
 154                     dumpDir.mkdirs();
 155                 }
 156                 DUMP_CLASS_FILES_DIR = dumpDir;
 157                 System.out.println("Dumping class files to "+DUMP_CLASS_FILES_DIR+"/...");
 158             } catch (Exception e) {
 159                 throw newInternalError(e);
 160             }
 161         } else {
 162             DUMP_CLASS_FILES_COUNTERS = null;
 163             DUMP_CLASS_FILES_DIR = null;
 164         }
 165     }
 166 
 167     static void maybeDump(final String className, final byte[] classFile) {
 168         if (DUMP_CLASS_FILES) {
 169             java.security.AccessController.doPrivileged(
 170             new java.security.PrivilegedAction<Void>() {
 171                 public Void run() {
 172                     try {
 173                         String dumpName = className;
 174                         //dumpName = dumpName.replace('/', '-');
 175                         File dumpFile = new File(DUMP_CLASS_FILES_DIR, dumpName+".class");
 176                         System.out.println("dump: " + dumpFile);
 177                         dumpFile.getParentFile().mkdirs();
 178                         FileOutputStream file = new FileOutputStream(dumpFile);
 179                         file.write(classFile);
 180                         file.close();
 181                         return null;
 182                     } catch (IOException ex) {
 183                         throw newInternalError(ex);
 184                     }
 185                 }
 186             });
 187         }
 188 
 189     }
 190 




 150             DUMP_CLASS_FILES_COUNTERS = new HashMap<>();
 151             try {
 152                 File dumpDir = new File("DUMP_CLASS_FILES");
 153                 if (!dumpDir.exists()) {
 154                     dumpDir.mkdirs();
 155                 }
 156                 DUMP_CLASS_FILES_DIR = dumpDir;
 157                 System.out.println("Dumping class files to "+DUMP_CLASS_FILES_DIR+"/...");
 158             } catch (Exception e) {
 159                 throw newInternalError(e);
 160             }
 161         } else {
 162             DUMP_CLASS_FILES_COUNTERS = null;
 163             DUMP_CLASS_FILES_DIR = null;
 164         }
 165     }
 166 
 167     static void maybeDump(final String className, final byte[] classFile) {
 168         if (DUMP_CLASS_FILES) {
 169             java.security.AccessController.doPrivileged(
 170             new java.security.PrivilegedAction<>() {
 171                 public Void run() {
 172                     try {
 173                         String dumpName = className;
 174                         //dumpName = dumpName.replace('/', '-');
 175                         File dumpFile = new File(DUMP_CLASS_FILES_DIR, dumpName+".class");
 176                         System.out.println("dump: " + dumpFile);
 177                         dumpFile.getParentFile().mkdirs();
 178                         FileOutputStream file = new FileOutputStream(dumpFile);
 179                         file.write(classFile);
 180                         file.close();
 181                         return null;
 182                     } catch (IOException ex) {
 183                         throw newInternalError(ex);
 184                     }
 185                 }
 186             });
 187         }
 188 
 189     }
 190 


< prev index next >