# HG changeset patch # User Michael Van De Vanter # Date 1446697972 28800 # Node ID 76f80b4b48bc2e8e09a732f62ffcf00dde237a75 # Parent a1b3b789461153b6fd31b83b353d7c8c9d64aa1b Truffle/Instrumentation: language-specific WrapperNode classes are no longer required to explicitly propagate KillException or QuitException. diff -r a1b3b7894611 -r 76f80b4b48bc truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/instrument/InstrumentationTestNodes.java --- a/truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/instrument/InstrumentationTestNodes.java Wed Nov 04 11:03:08 2015 +0100 +++ b/truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/instrument/InstrumentationTestNodes.java Wed Nov 04 20:32:52 2015 -0800 @@ -26,7 +26,6 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.instrument.EventHandlerNode; import com.oracle.truffle.api.instrument.Instrumenter; -import com.oracle.truffle.api.instrument.KillException; import com.oracle.truffle.api.instrument.Probe; import com.oracle.truffle.api.instrument.WrapperNode; import com.oracle.truffle.api.nodes.Node; @@ -81,8 +80,6 @@ try { result = child.execute(vFrame); eventHandlerNode.returnValue(child, vFrame, result); - } catch (KillException e) { - throw (e); } catch (Exception e) { eventHandlerNode.returnExceptional(child, vFrame, e); throw (e); diff -r a1b3b7894611 -r 76f80b4b48bc truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeNode.java --- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeNode.java Wed Nov 04 11:03:08 2015 +0100 +++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeNode.java Wed Nov 04 20:32:52 2015 -0800 @@ -111,6 +111,12 @@ @Override public void returnExceptional(Node node, VirtualFrame vFrame, Throwable exception) { + if (exception instanceof KillException) { + throw (KillException) exception; + } + if (exception instanceof QuitException) { + throw (QuitException) exception; + } this.probe.checkProbeUnchanged(); if (firstInstrumentNode != null) { firstInstrumentNode.returnExceptional(node, vFrame, exception); diff -r a1b3b7894611 -r 76f80b4b48bc truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapperNode.java --- a/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapperNode.java Wed Nov 04 11:03:08 2015 +0100 +++ b/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapperNode.java Wed Nov 04 20:32:52 2015 -0800 @@ -43,7 +43,6 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.instrument.EventHandlerNode; import com.oracle.truffle.api.instrument.Instrumenter; -import com.oracle.truffle.api.instrument.KillException; import com.oracle.truffle.api.instrument.Probe; import com.oracle.truffle.api.instrument.ProbeInstrument; import com.oracle.truffle.api.instrument.WrapperNode; @@ -107,8 +106,6 @@ try { result = child.executeGeneric(vFrame); eventHandlerNode.returnValue(child, vFrame, result); - } catch (KillException e) { - throw (e); } catch (Exception e) { eventHandlerNode.returnExceptional(child, vFrame, e); throw (e); diff -r a1b3b7894611 -r 76f80b4b48bc truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapperNode.java --- a/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapperNode.java Wed Nov 04 11:03:08 2015 +0100 +++ b/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapperNode.java Wed Nov 04 20:32:52 2015 -0800 @@ -43,7 +43,6 @@ import com.oracle.truffle.api.frame.VirtualFrame; import com.oracle.truffle.api.instrument.EventHandlerNode; import com.oracle.truffle.api.instrument.Instrumenter; -import com.oracle.truffle.api.instrument.KillException; import com.oracle.truffle.api.instrument.Probe; import com.oracle.truffle.api.instrument.ProbeInstrument; import com.oracle.truffle.api.instrument.WrapperNode; @@ -100,8 +99,6 @@ try { child.executeVoid(vFrame); eventHandlerNode.returnVoid(child, vFrame); - } catch (KillException e) { - throw (e); } catch (Exception e) { eventHandlerNode.returnExceptional(child, vFrame, e); throw (e); diff -r a1b3b7894611 -r 76f80b4b48bc truffle/com.oracle.truffle.tools.test/src/com/oracle/truffle/tools/test/ToolTestUtil.java --- a/truffle/com.oracle.truffle.tools.test/src/com/oracle/truffle/tools/test/ToolTestUtil.java Wed Nov 04 11:03:08 2015 +0100 +++ b/truffle/com.oracle.truffle.tools.test/src/com/oracle/truffle/tools/test/ToolTestUtil.java Wed Nov 04 20:32:52 2015 -0800 @@ -35,7 +35,6 @@ import com.oracle.truffle.api.instrument.ASTProber; import com.oracle.truffle.api.instrument.EventHandlerNode; import com.oracle.truffle.api.instrument.Instrumenter; -import com.oracle.truffle.api.instrument.KillException; import com.oracle.truffle.api.instrument.Probe; import com.oracle.truffle.api.instrument.SyntaxTag; import com.oracle.truffle.api.instrument.Visualizer; @@ -212,8 +211,6 @@ try { result = child.execute(vFrame); eventHandlerNode.returnValue(child, vFrame, result); - } catch (KillException e) { - throw (e); } catch (Exception e) { eventHandlerNode.returnExceptional(child, vFrame, e); throw (e);