diff graal/GraalCompiler/src/com/sun/c1x/debug/GraphvizPrinterObserver.java @ 2692:79590d6b4a7c

IdealGraphPrinterObserver, GraphvizPrinterObserver: replace possibly invalid characters in file names
author Peter Hofer <peter.hofer@jku.at>
date Wed, 18 May 2011 11:50:58 +0200
parents 4149feada801
children e1dad0edd57a
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/debug/GraphvizPrinterObserver.java	Wed May 18 11:27:10 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/debug/GraphvizPrinterObserver.java	Wed May 18 11:50:58 2011 +0200
@@ -23,6 +23,7 @@
 package com.sun.c1x.debug;
 
 import java.io.*;
+import java.util.regex.*;
 
 import com.oracle.graal.graph.*;
 import com.oracle.graal.graph.vis.*;
@@ -38,6 +39,8 @@
  */
 public class GraphvizPrinterObserver implements CompilationObserver {
 
+    private static final Pattern INVALID_CHAR = Pattern.compile("[^A-Za-z0-9_.-]");
+
     private final boolean pdf;
     private int n;
 
@@ -59,7 +62,9 @@
             String name = event.getMethod().holder().name();
             name = name.substring(1, name.length() - 1).replace('/', '.');
             name = name + "." + event.getMethod().name();
+
             String filename = name + "_" + (n++) + "_" + event.getLabel();
+            filename = INVALID_CHAR.matcher(filename).replaceAll("_");
 
             OutputStream out = null;
             try {