}   if (newInstr.position == null) { newInstr.position = position; newInstr.bcIndex = bcIndex;
  public void insertAfter(OPT_Instruction newInstr) {    if (OPT_IR.PARANOID) {      isForwardLinked();      newInstr.isNotLinked();      VM.assert(!isBbLast(), "cannot insert after last instruction of block");    }    // Splice newInstr into the doubly linked list of instructions    OPT_Instruction old_next = next;    next = newInstr;    newInstr.prev = this;    newInstr.next = old_next;    old_next.prev = newInstr;  }  /**   * Insertion: Insert newInstr immediately before this in the    * instruction stream.   * Can't insert before a LABEL instruction, since it must be the last    * instruction in its basic block.   *   * @param newInstr the instruction to insert, must not be in    *                 an instruction list already.   */  public void insertBack(OPT_Instruction newInstr) {    insertBefore(newInstr);  }