Пример #1
0
 /**
  * Create the VMThrowable
  *
  * @return constructed VMThrowable
  */
 static VMThrowable fillInStackTrace(Throwable parent) {
   if (!VM.fullyBooted) {
     return null;
   } else if (RVMThread.getCurrentThread().isCollectorThread()) {
     VM.sysWriteln("Exception in GC thread");
     RVMThread.dumpVirtualMachine();
     return null;
   }
   try {
     StackTrace stackTrace = new StackTrace();
     return new VMThrowable(stackTrace);
   } catch (OutOfMemoryError oome) {
     return null;
   } catch (Throwable t) {
     VM.sysFail(
         "VMThrowable.fillInStackTrace(): Cannot fill in a stack trace; got a weird Throwable when I tried to");
     return null;
   }
 }
Пример #2
0
 /**
  * Dump all threads & their stacks starting at the frame identified by the threads saved
  * contextRegisters (ip & fp fields).
  */
 @Uninterruptible
 public static void dumpAllThreadStacks() {
   RVMThread.dumpVirtualMachine();
 } // dumpAllThreadStacks