if (m == VM_Entrypoints.mainThreadRunMethod) continue;
if (m == VM_Entrypoints.mainThreadRunMethod) { lastFrame -= 3; if (lastFrame <= 0) {   lastFrame += 3; } break;              }
  private int lastFrameToPrint() {    int lastFrame = compiledMethods.length - 1;    // The Main Thread's last three stack frames are always:    //   Lcom/ibm/JikesRVM/MainThread; run()V at line 119    //   Lcom/ibm/JikesRVM/VM_Thread; run()V at line 158    //   Lcom/ibm/JikesRVM/VM_Thread; startoff()V at line 815    // so we can skip them.    //    // Other Threads, except for the boot thread, have VM_Thread.startoff as    // the last stack frame, and VM_Thread.run() as the penultimate stack    // frame.     for ( ; lastFrame > 0 ; --lastFrame) {      VM_Method m = compiledMethods[lastFrame].getMethod();      if (m == VM_Entrypoints.threadStartoffMethod)        continue;             /* com.ibm.JikesRVM.VM_Thread.startoff() is OK                                 to elide. */      if (m == VM_Entrypoints.threadRunMethod)        continue;             /* com.ibm.JikesRVM.VM_Thread.run() is OK                                 to elide. */      if (m == VM_Entrypoints.mainThreadRunMethod)        continue;             /* com.ibm.JikesRVM.MainThread.run() is OK to                               * elide */      /* No match.  Abort. */      break;    }        return lastFrame;  }