if (VM.VerifyAssertions && processorId != VM_Processor.getCurrentProcessorId()) VM.sysExit(VM.exitStatusSysFail);
if (VM.VerifyAssertions && processorId != VM_Processor.getCurrentProcessorId()) VM.sysExit(VM.EXIT_STATUS_SYSFAIL);
  static final void unlockOutput () {    if (VM.BuildForSingleVirtualProcessor) return;    VM_Magic.sync(); // TODO!! is this really necessary?    if (true) outputLock = 0; // TODO!! this ought to work, but doesn't?    else {      do {        int processorId = VM_Magic.prepareInt(VM_Magic.getJTOC(), VM_Entrypoints.outputLockField.getOffset());        if (VM.VerifyAssertions && processorId != VM_Processor.getCurrentProcessorId()) VM.sysExit(VM.exitStatusSysFail);        if (VM_Magic.attemptInt(VM_Magic.getJTOC(), VM_Entrypoints.outputLockField.getOffset(), processorId, 0)) {          break;         }      } while (true);    }    VM_Processor.getCurrentProcessor().enableThreadSwitching();  }