private void handleLocalAssociatedOther(){
  for (  ArrayList<RegisterSpec> specs : localVariables.values()) {
    int ropReg=paramRangeEnd;
    boolean done=false;
    do {
      int maxCategory=1;
      int sz=specs.size();
      for (int i=0; i < sz; i++) {
        RegisterSpec ssaSpec=specs.get(i);
        int category=ssaSpec.getCategory();
        if (!ssaRegsMapped.get(ssaSpec.getReg()) && category > maxCategory) {
          maxCategory=category;
        }
      }
      ropReg=findRopRegForLocal(ropReg,maxCategory);
      if (canMapRegs(specs,ropReg)) {
        done=tryMapRegs(specs,ropReg,maxCategory,true);
      }
      ropReg++;
    }
 while (!done);
  }
}

private void handleLocalAssociatedOther ( ) { for ( ArrayList < RegisterSpec > specs : localVariables . values ( ) ) { int ropReg = paramRangeEnd ; boolean done = false ; do { int maxCategory = 1 ; int sz = specs . size ( ) ; for ( int i = 0 ; i < sz ; i ++ ) { RegisterSpec ssaSpec = specs . get ( i ) ; int category = ssaSpec . getCategory ( ) ; if ( ! ssaRegsMapped . get ( ssaSpec . getReg ( ) ) && category > maxCategory ) { maxCategory = category ; } } ropReg = findRopRegForLocal ( ropReg , maxCategory ) ; if ( canMapRegs ( specs , ropReg ) ) { done = tryMapRegs ( specs , ropReg , maxCategory , true ) ; } ropReg ++ ; } while ( ! done ) ; } }
maps all local - associated registers that are not parameters . tries to find an unreserved range that ' s wide enough for all of the ssa registers , and then tries to map them all to that range . if not all fit , a new range is tried until all registers have been fit .
