private static byte nullCheck(OPT_Instruction s) {
private static DefUseEffect nullCheck(OPT_Instruction s) {
  private static byte nullCheck(OPT_Instruction s) {      OPT_Operand ref = NullCheck.getRef(s);      if (ref.isNullConstant() ||          (ref.isAddressConstant() && ref.asAddressConstant().value.isZero())) {          Trap.mutate(s, TRAP, NullCheck.getClearGuardResult(s),                      OPT_TrapCodeOperand.NullPtr());          return TRAP_REDUCED;      } else if (ref.isConstant()) {          // object, string, class or non-null address constant                    // Make the slightly suspect assumption that all non-zero address          // constants are actually valid pointers. Not necessarily true,          // but unclear what else we can do.          Move.mutate(s, GUARD_MOVE, NullCheck.getClearGuardResult(s), TG());          return MOVE_FOLDED;      }      else {          return UNCHANGED;      }  }