diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/REntryCounters.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/REntryCounters.java
index 26733ebb1f8ce424ae8bdd47cfbecff15f5030a7..f2120f69b3ed3c1cd60b8b317cdbc98ade5af5bf 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/REntryCounters.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/REntryCounters.java
@@ -25,7 +25,6 @@ package com.oracle.truffle.r.nodes.instrument;
 import java.util.*;
 
 import com.oracle.truffle.api.instrument.*;
-import com.oracle.truffle.api.instrument.impl.*;
 import com.oracle.truffle.r.nodes.function.*;
 import com.oracle.truffle.r.runtime.*;
 
@@ -54,10 +53,24 @@ public class REntryCounters {
                     enterCount++;
                 }
 
-                @Override
-                public void returnAny(Probe probe) {
+                private void returnAny(@SuppressWarnings("unused") Probe probe) {
                     exitCount++;
                 }
+
+                @Override
+                public void returnVoid(Probe probe) {
+                    returnAny(probe);
+                }
+
+                @Override
+                public void returnValue(Probe probe, Object result) {
+                    returnAny(probe);
+                }
+
+                @Override
+                public void returnExceptional(Probe probe, Exception exception) {
+                    returnAny(probe);
+                }
             }, "R node entry counter");
 
             counterMap.put(tag, this);
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/RNodeTimer.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/RNodeTimer.java
index 77a98979a66a8a358f12c93565bb503e8ac991c3..7f6b5d9e88067fb1b9860d04e624986380b58b6c 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/RNodeTimer.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/RNodeTimer.java
@@ -25,7 +25,6 @@ package com.oracle.truffle.r.nodes.instrument;
 import java.util.*;
 
 import com.oracle.truffle.api.instrument.*;
-import com.oracle.truffle.api.instrument.impl.*;
 import com.oracle.truffle.api.source.*;
 import com.oracle.truffle.r.nodes.*;
 import com.oracle.truffle.r.nodes.function.*;
@@ -62,10 +61,24 @@ public class RNodeTimer {
                     enterTime = System.nanoTime();
                 }
 
-                @Override
-                public void returnAny(Probe probe) {
+                private void returnAny(@SuppressWarnings("unused") Probe probe) {
                     cumulativeTime += System.nanoTime() - enterTime;
                 }
+
+                @Override
+                public void returnVoid(Probe probe) {
+                    returnAny(probe);
+                }
+
+                @Override
+                public void returnValue(Probe probe, Object result) {
+                    returnAny(probe);
+                }
+
+                @Override
+                public void returnExceptional(Probe probe, Exception exception) {
+                    returnAny(probe);
+                }
             }, "R node timer");
 
             timerMap.put(tag, this);
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/debug/DebugHandling.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/debug/DebugHandling.java
index 9d92478bcc091e0a4bfd414ad779b121cf3af9ee..dd02f5cef0046bd2c77745f7c228ed27f2e109e3 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/debug/DebugHandling.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/debug/DebugHandling.java
@@ -178,7 +178,7 @@ public class DebugHandling {
         });
     }
 
-    private abstract static class DebugEventReceiver implements ASTInstrumentListener {
+    private abstract static class DebugEventReceiver implements StandardInstrumentListener {
 
         protected final Object text;
         protected final Object condition;
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/trace/TraceHandling.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/trace/TraceHandling.java
index aab97995c1dffd85f209e8c5c92393e66f1de8b7..dc2e80f5914213bd6c8986c2e8cbefdd73dc35d4 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/trace/TraceHandling.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/instrument/trace/TraceHandling.java
@@ -64,7 +64,7 @@ public class TraceHandling {
         return probe;
     }
 
-    private abstract static class TraceEventReceiver implements ASTInstrumentListener {
+    private abstract static class TraceEventReceiver implements StandardInstrumentListener {
 
         @CompilationFinal private boolean disabled;
         CyclicAssumption disabledUnchangedAssumption = new CyclicAssumption("trace event disabled state unchanged");
diff --git a/mx.fastr/imports b/mx.fastr/imports
index eb44e9a76f3f4e15da8089e43c9be91fbf64db96..267e895975908f766dcda6e889fdae9ffcfd81f9 100644
--- a/mx.fastr/imports
+++ b/mx.fastr/imports
@@ -1 +1 @@
-graal,7bf5292dd7ad2d60d10c069e6615b291964fbe2d,http://hg.openjdk.java.net/graal/graal
+graal,518ce9a36939d45be7d4460c2dae2209404818b3,http://hg.openjdk.java.net/graal/graal