private static boolean testAndMark(VM_Address ref, int value)
private static boolean testAndMark(VM_Address ref, VM_Word value)
  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;  }