unwind = mergeUnwind(unwind, ex); } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException();
if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException();
unwind = ex; } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException();
if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException();
unwind = mergeUnwind(unwind, ex); } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException();
unwind = ex; } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException();
unwind = mergeUnwind(unwind, ex); } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException();
final Object onUnwind(EventContext context, VirtualFrame frame, UnwindException unwind) { Object ret = null; if (containsBinding(unwind)) { try { ret = innerOnUnwind(context, frame, getInfo(unwind)); } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException(); } if (binding.isLanguageBinding()) { throw t; } else { CompilerDirectives.transferToInterpreter(); exceptionEventForClientInstrument(binding, "onUnwind", t); } } if (ret != null) { assert checkInteropType(ret, binding); reset(unwind); } } else { ret = UNWIND_ACTION_IGNORED; } if (next != null) { Object nextRet = next.onUnwind(context, frame, unwind); ret = mergePostUnwindReturns(ret, nextRet); } return ret; }
final Object onUnwind(EventContext context, VirtualFrame frame, UnwindException unwind) { Object ret = null; if (containsBinding(unwind)) { try { ret = innerOnUnwind(context, frame, getInfo(unwind)); } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException(); } if (binding.isLanguageBinding()) { throw t; } else { CompilerDirectives.transferToInterpreter(); exceptionEventForClientInstrument(binding, "onUnwind", t); } } if (ret != null) { assert checkInteropType(ret, binding); reset(unwind); } } else { ret = UNWIND_ACTION_IGNORED; } if (next != null) { Object nextRet = next.onUnwind(context, frame, unwind); ret = mergePostUnwindReturns(ret, nextRet); } return ret; }
final void onInputValue(EventContext context, VirtualFrame frame, EventBinding<?> inputBinding, EventContext inputContext, int inputIndex, Object inputValue) { if (next != null) { next.onInputValue(context, frame, inputBinding, inputContext, inputIndex, inputValue); } try { if (binding == inputBinding) { innerOnInputValue(context, frame, binding, inputContext, inputIndex, inputValue); } } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException(); } if (binding.isLanguageBinding()) { throw t; } else { CompilerDirectives.transferToInterpreter(); exceptionEventForClientInstrument(binding, "onInputValue", t); } } }
final void onDispose(EventContext context, VirtualFrame frame) { try { innerOnDispose(context, frame); } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException(); } if (binding.isLanguageBinding()) { throw t; } else { exceptionEventForClientInstrument(binding, "onEnter", t); } } if (next != null) { next.onDispose(context, frame); } }
final void onDispose(EventContext context, VirtualFrame frame) { try { innerOnDispose(context, frame); } catch (Throwable t) { if (!isSeenException()) { CompilerDirectives.transferToInterpreterAndInvalidate(); setSeenException(); } if (binding.isLanguageBinding()) { throw t; } else { exceptionEventForClientInstrument(binding, "onEnter", t); } } if (next != null) { next.onDispose(context, frame); } }