if (VM.VerifyAssertions) VM.assert( p != null, "null nativeAffinity, should have been recorded by C caller\n");
if (VM.VerifyAssertions) VM._assert( p != null, "null nativeAffinity, should have been recorded by C caller\n");
  static void becomeNativeThread () {    int lockoutId;    if (trace) {      VM.sysWrite("VM_Thread.becomeNativeThread entry -process = ");      VM.sysWrite(VM_Magic.objectAsAddress(VM_Processor.getCurrentProcessor()));      VM.sysWrite("\n");      VM.sysWrite("Thread id ");      VM.sysWrite(VM_Magic.getThreadId() );      VM.sysWrite("\n");    }    VM_Processor p = VM_Thread.getCurrentThread().nativeAffinity;    if (VM.VerifyAssertions) VM.assert( p != null, "null nativeAffinity, should have been recorded by C caller\n");        // ship the thread to the native processor    p.transferMutex.lock();        VM.sysCall1(VM_BootRecord.the_boot_record.sysPthreadSignalIP, p.pthread_id);    yield(p.transferQueue, p.transferMutex); // morph to native processor    // if (VM_Magic.getMemoryWord(lockoutAddr) != lockoutId)    //   VM_Scheduler.trace("!!!bad lock contents", " contents =", VM_Magic.getMemoryWord(lockoutAddr));        if (trace){      VM.sysWrite("VM_Thread.becomeNativeThread exit -process = ");      VM.sysWrite(VM_Magic.objectAsAddress(VM_Processor.getCurrentProcessor()));      VM.sysWrite("\n");    }  }