((OPT_RegisterOperand)val1).type == VM_Type.BooleanType &&
((OPT_RegisterOperand)val1).type == OPT_ClassLoaderProxy.BooleanType &&
  private void booleanCompareHelper(OPT_Instruction cb, 				    OPT_RegisterOperand res, 				    OPT_Operand val1, 				    OPT_Operand val2, 				    OPT_ConditionOperand cond) {    if ((val1 instanceof OPT_RegisterOperand) &&         ((OPT_RegisterOperand)val1).type == VM_Type.BooleanType && 	(val2 instanceof OPT_IntConstantOperand)) {      int value = ((OPT_IntConstantOperand)val2).value;      if (VM.VerifyAssertions && (value != 0) && (value != 1))        throw  new OPT_OptimizingCompilerException("Invalid boolean value");      if (cond.evaluate(value, 0)) {        Unary.mutate(cb, BOOLEAN_NOT, res, val1);      } else {        Move.mutate(cb, INT_MOVE, res, val1);      }    } else {      BooleanCmp.mutate(cb, BOOLEAN_CMP, res, val1, val2, cond,			new OPT_BranchProfileOperand());    }  }