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