if (VM_Magic.attemptInt(o, lockOffset, old, old | threadId)) {
if (VM_Magic.attemptWord(o, lockOffset, old, old.or(VM_Word.fromIntZeroExtend(threadId)))) {
  static void inlineLock(Object o, int lockOffset) throws VM_PragmaInline {    int old = VM_Magic.prepareInt(o, lockOffset);    if ((old >>> TL_THREAD_ID_SHIFT) == 0) {       // implies that fatbit == 0 & threadid == 0      int threadId = VM_Processor.getCurrentProcessor().threadId;      if (VM_Magic.attemptInt(o, lockOffset, old, old | threadId)) {        VM_Magic.isync(); // don't use stale prefetched data in monitor        if (STATS) fastLocks++;        return;           // common case: o is now locked      }    }    lock(o, lockOffset); // uncommon case: default to out-of-line lock()  }