public void consolidate(List<Reg> regs){
		ReorderingLine line = buffer.get(listinit);
		
		if(line.getState()!=ReorderingLine.CONSOLIDAR){
			return;
		}else{			
			if(line.getDest()!=null){ //Operações da ULA e Loads
				regs.get(line.getDest()).setValue(line.getValue());
				if(regs.get(line.getDest()).getQi().equals(buffer.indexOf(line)))
						regs.get(line.getDest()).setQi(null);
			}
			else{
				Instrucao i = line.getInst();
				//System.err.println("Consolidating "+line.getInst().getNome());
				if(i.isBranch()){ 
					PredictionLine pl = pbuffer.getLine(i);
					if(line.getValue()==null){
						line.setValue(pl.getInstPC()+4);
					}
					if(!pl.getGuessPC().equals(line.getValue())){//errou, apagar tudo
						cleanAllInstructions(); 
						if(line.getValue().equals(pl.getInstPC()))
							line.setValue(line.getValue()+4);
						p.getIF().setNewPC(line.getValue());
					}
					if(line.getValue().equals(pl.getInstPC()+4)){
						pl.addNotJump();
					}
					else{
						pl.addJump();
					}
				}
				else if(i.getNome().equals("sw")){//Store
					System.err.println("gravando "+line.getValue()+" em "+line.getAddress());
					md.setValue(line.getAddress(),line.getValue());
				}

			}
		line.setFree();
		listinit = (listinit+1)%ReorderingBuffer.SIZE;
		completedInstructions++;
		}
	}