public LIRInstruction(LIRInstructionClass<? extends LIRInstruction> c){
  LIR_NODE_COUNT.increment();
  instructionClass=c;
  assert c.getClazz() == this.getClass();
  id=-1;
}

public LIRInstruction ( LIRInstructionClass < ? extends LIRInstruction > c ) { LIR_NODE_COUNT . increment ( ) ; instructionClass = c ; assert c . getClazz ( ) == this . getClass ( ) ; id = - 1 ; }
constructs a new lir instruction .
