Esempio n. 1
0
 final void onReturnExceptional(EventContext context, VirtualFrame frame, Throwable exception) {
   try {
     innerOnReturnExceptional(context, frame, exception);
   } catch (Throwable t) {
     if (!seenException) {
       CompilerDirectives.transferToInterpreterAndInvalidate();
       seenException = true;
     }
     if (binding.isLanguageBinding()) {
       exception.addSuppressed(t);
     } else {
       CompilerDirectives.transferToInterpreter();
       failEventForInstrumentation(binding, "onReturnExceptional", t);
     }
   }
   if (next != null) {
     next.onReturnExceptional(context, frame, exception);
   }
 }
Esempio n. 2
0
 /**
  * Should get invoked if the node did not complete sucessfully.
  *
  * @param exception the exception that occured during the execution
  * @param frame the current frame of the execution.
  */
 public void onReturnExceptional(VirtualFrame frame, Throwable exception) {
   if (lazyUpdate(frame)) {
     chain.onReturnExceptional(context, frame, exception);
   }
 }