numNodes++;
_numNodes++;
  OPT_DepGraphStats(OPT_DepGraph dg, String bbName) {    // First pass -- compute numNodes    int numNodes = 0;    boolean containsLoadOrStore = false;    for (OPT_DepGraphNode n = (OPT_DepGraphNode)dg.firstNode();         n != null; n = (OPT_DepGraphNode)n.getNext()) {      numNodes++;      OPT_Instruction instr = n.instruction();      if (instr.isImplicitStore() || instr.isImplicitLoad())        containsLoadOrStore = true;    }    OPT_DepGraphNode nodes[] = new OPT_DepGraphNode[numNodes];    int ECT[] = new int[numNodes];              // Earliest Completion Times    int totalTime = 0;    int critPathLength = 0;    // Second pass -- compute times    int i = 0;    for (OPT_DepGraphNode n = (OPT_DepGraphNode)dg.firstNode(); n != null;         n = (OPT_DepGraphNode)n.getNext()) {      nodes[i] = n;      ECT[i] = 0;      for (OPT_DepGraphEdge e = (OPT_DepGraphEdge)n.firstInEdge(); e !=           null; e = (OPT_DepGraphEdge)e.getNextIn()) {        OPT_DepGraphNode pred = (OPT_DepGraphNode)e.fromNode();        // Look for pred in nodes[]        int j;        for (j = 0; j < i; j++) {          if (nodes[j] == pred)            break;        }        if (j == i) {          // Not found          throw  new OPT_OptimizingCompilerException(              "OPT_DepGraphStats: dep graph is not topologically sorted ???");          // NOTE: I could not use OPT_SortedGraphIterator           // for top sort because OPT_DepGraphNode          // is not a subclass of OPT_SortedGraphNode        }        // TODO: add edge latency also??        ECT[i] = Math.max(ECT[i], ECT[j]);      }         // for ( e = ... )      OPT_Instruction instr = n.instruction();      int curTime = estimateExecutionTime(instr);      totalTime += curTime;      ECT[i] += curTime;      critPathLength = Math.max(critPathLength, ECT[i]);      i++;    }           // for ( n = ... )    System.out.println("@@@@ BB " + bbName + "; totalTime = " + totalTime        + "; containsLoadOrStore = " + containsLoadOrStore +         "; critPathLength = "        + critPathLength);  }