markBit = oldValue & MARK_BIT_MASK; if (markBit == value) return false; } while (!VM_Interface.attemptAvailableBits(ref,oldValue,oldValue ^ MARK_BIT_MASK));
markBit = oldValue.and(MARK_BIT_MASK); if (markBit.EQ(value)) return false; } while (!VM_Interface.attemptAvailableBits(ref,oldValue,oldValue.xor(MARK_BIT_MASK)));
  public static boolean testAndMark(VM_Address ref, int value)    throws VM_PragmaUninterruptible, VM_PragmaInline {    int oldValue, markBit;    do {      oldValue = VM_Interface.prepareAvailableBits(ref);      markBit = oldValue & MARK_BIT_MASK;      if (markBit == value) return false;    } while (!VM_Interface.attemptAvailableBits(ref,oldValue,oldValue ^ MARK_BIT_MASK));    return true;  }