if (MM_Interface.NEEDS_WRITE_BARRIER) MM_Interface.arrayStoreWriteBarrier(VM_Scheduler.threads, threadSlot, null);
  final void releaseThreadSlot() {    //  Problem:    //  We'd like to say "VM_Scheduler.threads[index] = null;"    //  but can't do "checkstore" inside dispatcher     //  (with thread switching enabled) without    //  losing control to a threadswitch, so we must hand code     //  the operation via magic.    //    VM_Magic.setObjectAtOffset(VM_Scheduler.threads, threadSlot << LOG_BYTES_IN_ADDRESS, null);    VM_Scheduler.threadAllocationIndex = threadSlot;    // ensure trap if we ever try to "become" this thread again    if (VM.VerifyAssertions) threadSlot = -1;   }