private static void handlePossibleRecursiveExit(String called, int depth, String message) {  int nProcessors = VM_Scheduler.numProcessors; int nProcessorAdjust = nProcessors - 1; if (depth > 1 && (depth <= maxSystemTroubleRecursionDepth + nProcessorAdjust + VM.maxSystemTroubleRecursionDepthBeforeWeStopVMSysWrite)) { ptsysWriteln("VM.", called, "(): We're in a", depth > nProcessors ? "n (unambiguously)" : " (likely)", " recursive call to VM.", called, "(), ", depth, " deep\n", message == null ? "" : "   ", message == null ? "" : called, message == null ? "": " was called with the message: ", message == null ? "" : message); } if (depth > maxSystemTroubleRecursionDepth + nProcessorAdjust) { dieAbruptlyRecursiveSystemTrouble(); if (VM.VerifyAssertions) VM._assert(VM.NOT_REACHED); }
private static void handlePossibleRecursiveExit(String called, int depth) { handlePossibleRecursiveExit(called, depth, null);
  private static void handlePossibleRecursiveExit(String called, int depth,                                                   String message) {    /* We adjust up by nProcessorAdjust since we do not want to prematurely       abort.  Consider the case where VM_Scheduler.numProcessors is greater       than maxSystemTroubleRecursionDepth.  (This actually happened.)       Possible change: Instead of adjusting by the # of processors, make the       "depth" variable a per-processor variable. */    int nProcessors = VM_Scheduler.numProcessors;    int nProcessorAdjust = nProcessors - 1;    if (depth > 1        && (depth <= maxSystemTroubleRecursionDepth             + nProcessorAdjust            + VM.maxSystemTroubleRecursionDepthBeforeWeStopVMSysWrite))     {      ptsysWriteln("VM.", called, "(): We're in a",                   depth > nProcessors ? "n (unambiguously)" : " (likely)",                   " recursive call to VM.", called, "(), ", depth,                    " deep\n",                   message == null ? "" : "   ",                    message == null ? "" : called,                    message == null ? "": " was called with the message: ",                    message == null ? "" : message);    }    if (depth > maxSystemTroubleRecursionDepth + nProcessorAdjust) {      dieAbruptlyRecursiveSystemTrouble();      if (VM.VerifyAssertions) VM._assert(VM.NOT_REACHED);    }  }