public Register acquire(Type type){
  if (freePool.isEmpty()) {
    Register tmp=Register.createTemporary(nextIndex++,type);
    Trace.trace(Item.COMPILER,"Acquire new temporary, %s",tmp);
    return tmp;
  }
  Register result=freePool.remove(freePool.size() - 1);
  Trace.trace(Item.COMPILER,"Acquire temporary, %s",result);
  result.setUsed();
  result.setType(type);
  return result;
}

public Register acquire ( Type type ) { if ( freePool . isEmpty ( ) ) { Register tmp = Register . createTemporary ( nextIndex ++ , type ) ; Trace . trace ( Item . COMPILER , "Acquire new temporary, %s" , tmp ) ; return tmp ; } Register result = freePool . remove ( freePool . size ( ) - 1 ) ; Trace . trace ( Item . COMPILER , "Acquire temporary, %s" , result ) ; result . setUsed ( ) ; result . setType ( type ) ; return result ; }
get a free temporary from the pool , or create a new one .
