public int getNumberOfPureUses() { if (operator.hasVarDefs()) { if (VM.VerifyAssertions) { VM.assert(operator.getNumberOfDefUses() == 0); } int numOps = operator.getNumberOfFixedPureUses(); int i = getNumberOfDefs() + numOps; for (; i < ops.length; i++) { if (ops[i] == null) break; numOps++; } return numOps; } else { return operator.getNumberOfFixedPureUses(); } }    public int getNumberOfUses() { if (operator.hasVarUses()) { return getNumberOfOperands() - operator.getNumberOfPureDefs(); } else { return operator.getNumberOfUses(); } }
  public int getNumberOfPureDefs() {    if (operator.hasVarDefs()) {      if (VM.VerifyAssertions) {	VM.assert(operator.getNumberOfDefUses() == 0);      }      int numOps = operator.getNumberOfFixedPureDefs();      for (; numOps < ops.length; numOps++) {	if (ops[numOps] == null) break;      }      return numOps;    } else {      return operator.getNumberOfFixedPureDefs();    }  }  /**   * Returns the number of operands that are pure uses.   * By convention, operands are ordered in instructions   * such that all defs are first, followed by all   * combined defs/uses, followed by all pure uses.   *   * @return number of operands that are defs   */  public int getNumberOfPureUses() {    if (operator.hasVarDefs()) {      if (VM.VerifyAssertions) {	VM.assert(operator.getNumberOfDefUses() == 0);      }      int numOps = operator.getNumberOfFixedPureUses();      int i = getNumberOfDefs() + numOps;      for (; i < ops.length; i++) {	if (ops[i] == null) break;        numOps++;      }      return numOps;    } else {      return operator.getNumberOfFixedPureUses();    }  }    /**   * Returns the number of operands that are uses    * (either combined def/uses or pure uses).   * By convention, operands are ordered in instructions   * such that all defs are first, followed by all   * combined defs/uses, followed by all pure uses.   *   * @return how many operands are uses   */  public int getNumberOfUses() {    if (operator.hasVarUses()) {      return getNumberOfOperands() - operator.getNumberOfPureDefs();    } else {      return operator.getNumberOfUses();    }  }