private void computeClosure(){
  for (Enumeration<GraphNode> e=enumerateVertices(); e.hasMoreElements(); ) {
    ValueGraphVertex v=(ValueGraphVertex)e.nextElement();
    if (v.getName() instanceof Register) {
      if (v.getLabel() instanceof Register) {
        if (v.getName() != v.getLabel()) {
          ValueGraphVertex v2=getVertex(v.getLabel());
          if (VM.VerifyAssertions) {
            if (v2.getName() instanceof Register && v2.getLabel() instanceof Register && v2.getLabel() != v2.getName()) {
              VM._assert(VM.NOT_REACHED);
            }
          }
          v.copyVertex(v2);
        }
      }
    }
  }
}

private void computeClosure ( ) { for ( Enumeration < GraphNode > e = enumerateVertices ( ) ; e . hasMoreElements ( ) ; ) { ValueGraphVertex v = ( ValueGraphVertex ) e . nextElement ( ) ; if ( v . getName ( ) instanceof Register ) { if ( v . getLabel ( ) instanceof Register ) { if ( v . getName ( ) != v . getLabel ( ) ) { ValueGraphVertex v2 = getVertex ( v . getLabel ( ) ) ; if ( VM . VerifyAssertions ) { if ( v2 . getName ( ) instanceof Register && v2 . getLabel ( ) instanceof Register && v2 . getLabel ( ) != v2 . getName ( ) ) { VM . _assert ( VM . NOT_REACHED ) ; } } v . copyVertex ( v2 ) ; } } } } }
due to pi nodes and moves , the initial label for a register may be another register . fix up the value graph for cases where the initial register label was not removed .
