List dynamicCallInfo = null;
  public static void readDynamicCallFile(String file, boolean boot) {    List dynamicCallInfo = null;    BufferedReader fileIn = null;        if (file == null) return;// null;        if ((!VM.runningVM) && (VM_Controller.dcg == null)) {      VM_Controller.dcg = new VM_PartialCallGraph(300);     } else if (VM_Controller.dcg == null) {      System.out.println("dcg is null ");      return;    }    try {      fileIn = new BufferedReader(new         InputStreamReader(new FileInputStream(file),                           "UTF-8"));      try {        for (String s = fileIn.readLine(); s != null; s = fileIn.readLine()) {          StringTokenizer parser = new StringTokenizer(s, " \n,");          readOneCallSiteAttribute(parser, boot);        }      } catch (IOException e) {        e.printStackTrace();        VM.sysFail("Error parsing input dynamic call graph file"+file);      }      fileIn.close();    } catch (java.io.FileNotFoundException e) {      System.out.println("IO: Couldn't read compiler advice attribute file: "                          + file + e);      return;// null;    } catch (java.io.UnsupportedEncodingException e) {      System.out.println("IO: UTF-16 is not supported: "                          + e);      return;// null;    } catch (IOException e) {      VM.sysFail("Error closing input dynamic call graph file"+file);    }      }