if (VM.VerifyAssertions) VM.assert(vpStatus[this.vpStatusIndex] == UNASSIGNED_VP_STATUS);
if (VM.VerifyAssertions) VM._assert(vpStatus[this.vpStatusIndex] == UNASSIGNED_VP_STATUS);
  VM_Processor (int id,  int processorType ) {    //-#if RVM_FOR_IA32    // presave JTOC register contents     // (so lintel compiler can us JTOC for scratch)    if (VM.runningVM) jtoc = VM_Magic.getJTOC();    //-#endif    this.id = id;    this.transferMutex     = new VM_ProcessorLock();    this.transferQueue     = new VM_GlobalThreadQueue(VM_EventLogger.TRANSFER_QUEUE, this.transferMutex);    this.readyQueue        = new VM_ThreadQueue(VM_EventLogger.READY_QUEUE);    this.ioQueue           = new VM_ThreadIOQueue(VM_EventLogger.IO_QUEUE);    this.idleQueue         = new VM_ThreadQueue(VM_EventLogger.IDLE_QUEUE);    this.lastLockIndex     = -1;    this.isInSelect        = false;    this.processorMode     = processorType;    lastVPStatusIndex = (lastVPStatusIndex + VP_STATUS_STRIDE) % VP_STATUS_SIZE;    this.vpStatusIndex = lastVPStatusIndex;    this.vpStatusAddress = VM_Magic.objectAsAddress(vpStatus).add(this.vpStatusIndex << 2);    if (VM.VerifyAssertions) VM.assert(vpStatus[this.vpStatusIndex] == UNASSIGNED_VP_STATUS);    vpStatus[this.vpStatusIndex] = IN_JAVA;    if (VM.BuildForDeterministicThreadSwitching) { // where we set THREAD_SWITCH_BIT every N method calls      this.deterministicThreadSwitchCount = VM.deterministicThreadSwitchInterval;    }    VM_Collector.setupProcessor(this);  }