protected void computeReachablePts(){
  int i;
  IVarAbstraction pn;
  off_graph_edge p;
  queue.clear();
  for (i=0; i < n_var; ++i) {
    pn=int2var.get(i);
    if (pn.willUpdate == true)     queue.add(i);
  }
  while (!queue.isEmpty()) {
    i=queue.getFirst();
    queue.removeFirst();
    p=varGraph.get(i);
    while (p != null) {
      pn=int2var.get(p.t);
      if (pn.willUpdate == false) {
        pn.willUpdate=true;
        queue.add(p.t);
      }
      pn=p.base_var;
      if (pn != null && pn.willUpdate == false) {
        pn.willUpdate=true;
        queue.add(pn.id);
      }
      p=p.next;
    }
  }
}

protected void computeReachablePts ( ) { int i ; IVarAbstraction pn ; off_graph_edge p ; queue . clear ( ) ; for ( i = 0 ; i < n_var ; ++ i ) { pn = int2var . get ( i ) ; if ( pn . willUpdate == true ) queue . add ( i ) ; } while ( ! queue . isEmpty ( ) ) { i = queue . getFirst ( ) ; queue . removeFirst ( ) ; p = varGraph . get ( i ) ; while ( p != null ) { pn = int2var . get ( p . t ) ; if ( pn . willUpdate == false ) { pn . willUpdate = true ; queue . add ( p . t ) ; } pn = p . base_var ; if ( pn != null && pn . willUpdate == false ) { pn . willUpdate = true ; queue . add ( pn . id ) ; } p = p . next ; } } }
compute a set of pointers that required to refine the seed pointers . prerequisite : dependence graph
