t.fillInStackTrace();
  static void morph () {    if (trace) VM_Scheduler.trace("VM_Thread", "morph");    VM_Thread myThread = getCurrentThread();    if (VM.VerifyAssertions) {      if (!VM_Processor.getCurrentProcessor().threadSwitchingEnabled()) {	VM.sysWrite("no threadswitching on proc ", VM_Processor.getCurrentProcessor().id);	VM.sysWriteln(" with addr ", VM_Magic.objectAsAddress(VM_Processor.getCurrentProcessor()));      }      VM._assert(VM_Processor.getCurrentProcessor().threadSwitchingEnabled(), "thread switching not enabled");      VM._assert(myThread.beingDispatched == true, "morph: not beingDispatched");    }    // become another thread    //    VM_Processor.getCurrentProcessor().dispatch();    // respond to interrupt sent to this thread by some other thread    //    if (myThread.externalInterrupt != null && myThread.throwInterruptWhenScheduled) {      Throwable t = myThread.externalInterrupt;      myThread.externalInterrupt = null;      myThread.throwInterruptWhenScheduled = false;      VM_Runtime.athrow(t);    }  }