changeset 18130:b4e38f4ca414

Truffle: rename @SlowPath to @TruffleBoundary.
author Christian Humer <christian.humer@gmail.com>
date Tue, 21 Oct 2014 00:22:51 +0200
parents b3adab5f01a2
children 85cec9cab17b
files CHANGELOG.md graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLCallUntilOptimizedBuiltin.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLDisableSplittingBuiltin.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGetOptionBuiltin.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGraalRuntimeBuiltin.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsInlinedBuiltin.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsOptimizedBuiltin.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLSetOptionBuiltin.java graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestSlowPath01Builtin.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalFrameInstance.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Instrument.java graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.java graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLDefineFunctionBuiltin.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLPrintlnBuiltin.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLReadlnBuiltin.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLMulNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapper.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapper.java
diffstat 25 files changed, 57 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGELOG.md	Tue Oct 21 00:22:48 2014 +0200
+++ b/CHANGELOG.md	Tue Oct 21 00:22:51 2014 +0200
@@ -8,6 +8,7 @@
 ### Truffle
 * Relaxed declared type restriction on child fields to allow for interface types in addition to Node subclasses.
 * The BranchProfile constructor is now private. Use BranchProfile#create() instead.
+* Renamed @CompilerDirectives.SlowPath to @CompilerDirectives.TruffleBoundary
 * ...
 
 ## Version 0.5
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLCallUntilOptimizedBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLCallUntilOptimizedBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -49,7 +49,7 @@
     @Child private IndirectCallNode indirectCall = Truffle.getRuntime().createIndirectCallNode();
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public SLFunction callUntilCompiled(VirtualFrame frame, SLFunction function) {
         OptimizedCallTarget target = ((OptimizedCallTarget) function.getCallTarget());
         for (int i = 0; i < MAX_CALLS; i++) {
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLDisableSplittingBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLDisableSplittingBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -38,7 +38,7 @@
 public abstract class SLDisableSplittingBuiltin extends SLGraalRuntimeBuiltin {
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public SLFunction disableSplitting(SLFunction function) {
         OptimizedCallTarget target = (OptimizedCallTarget) function.getCallTarget();
         for (OptimizedCallTarget oct : findDuplicateCallTargets(target)) {
@@ -48,7 +48,7 @@
     }
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public SLNull disableSplitting(@SuppressWarnings("unused") SLNull argument) {
         RootNode parentRoot = Truffle.getRuntime().getCallerFrame().getCallNode().getRootNode();
         ((SLRootNode) parentRoot).setSplittable(false);
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGetOptionBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGetOptionBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -36,7 +36,7 @@
 public abstract class SLGetOptionBuiltin extends SLGraalRuntimeBuiltin {
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public Object getOption(String name) {
         TruffleCompilerOptions_Options options = new TruffleCompilerOptions_Options();
         for (OptionDescriptor option : options) {
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGraalRuntimeBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGraalRuntimeBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -46,7 +46,7 @@
      * Finds all call targets available for the same original call target. This might be useful if a
      * {@link CallTarget} got duplicated due to splitting.
      */
-    @SlowPath
+    @TruffleBoundary
     protected static final Set<OptimizedCallTarget> findDuplicateCallTargets(OptimizedCallTarget originalCallTarget) {
         final Set<OptimizedCallTarget> allCallTargets = new HashSet<>();
         allCallTargets.add(originalCallTarget);
@@ -65,7 +65,7 @@
      * Finds all {@link DirectCallNode} instances calling a certain original {@link CallTarget} in
      * the caller function.
      */
-    @SlowPath
+    @TruffleBoundary
     protected static final Set<DirectCallNode> findCallsTo(OptimizedCallTarget originalCallTarget) {
         FrameInstance frame = Truffle.getRuntime().getCallerFrame();
         RootNode root = frame.getCallNode().getRootNode();
@@ -76,7 +76,7 @@
      * Finds all {@link DirectCallNode} instances calling a certain original {@link CallTarget} in a
      * given {@link RootNode}.
      */
-    @SlowPath
+    @TruffleBoundary
     protected static final Set<DirectCallNode> findCallsTo(RootNode root, OptimizedCallTarget originalCallTarget) {
         final Set<DirectCallNode> allCallNodes = new HashSet<>();
         root.accept(new NodeVisitor() {
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsInlinedBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsInlinedBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -26,7 +26,7 @@
 
 import com.oracle.graal.truffle.*;
 import com.oracle.graal.truffle.TruffleInlining.CallTreeNodeVisitor;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 import com.oracle.truffle.sl.runtime.*;
@@ -40,7 +40,7 @@
 public abstract class SLIsInlinedBuiltin extends SLGraalRuntimeBuiltin {
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public Object isInlined(SLFunction rootFunction, SLFunction parentFunction, SLFunction inlinedFunction) {
         InliningTrace trace = new InliningTrace();
 
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsOptimizedBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsOptimizedBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -23,7 +23,7 @@
 package com.oracle.graal.truffle.test.builtins;
 
 import com.oracle.graal.truffle.*;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 import com.oracle.truffle.sl.runtime.*;
@@ -35,7 +35,7 @@
 public abstract class SLIsOptimizedBuiltin extends SLGraalRuntimeBuiltin {
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public boolean isOptimized(SLFunction function) {
         OptimizedCallTarget target = (OptimizedCallTarget) function.getCallTarget();
         for (OptimizedCallTarget foundTarget : findDuplicateCallTargets(target)) {
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLSetOptionBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLSetOptionBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -24,7 +24,7 @@
 
 import com.oracle.graal.options.*;
 import com.oracle.graal.truffle.*;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 
@@ -36,7 +36,7 @@
 public abstract class SLSetOptionBuiltin extends SLGraalRuntimeBuiltin {
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public Object setOption(String name, Object value) {
         TruffleCompilerOptions_Options options = new TruffleCompilerOptions_Options();
         for (OptionDescriptor option : options) {
--- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestSlowPath01Builtin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestSlowPath01Builtin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -25,7 +25,7 @@
 import java.util.concurrent.*;
 
 import com.oracle.truffle.api.*;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 import com.oracle.truffle.sl.runtime.*;
@@ -40,7 +40,7 @@
     private static Object nonConstantValue = new Object();
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public Object testSlowPath() {
         CompilerAsserts.neverPartOfCompilation();
         CompilerAsserts.neverPartOfCompilation("Should never throw an exception when compiling.");
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalFrameInstance.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalFrameInstance.java	Tue Oct 21 00:22:51 2014 +0200
@@ -27,7 +27,7 @@
 import com.oracle.graal.api.code.stack.*;
 import com.oracle.graal.compiler.common.*;
 import com.oracle.truffle.api.*;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.nodes.*;
 
@@ -43,7 +43,7 @@
 
     protected abstract int getFrameIndex();
 
-    @SlowPath
+    @TruffleBoundary
     public Frame getFrame(FrameAccess access, boolean slowPath) {
         if (access == FrameAccess.NONE) {
             return null;
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java	Tue Oct 21 00:22:51 2014 +0200
@@ -32,7 +32,7 @@
 import com.oracle.graal.api.runtime.*;
 import com.oracle.graal.nodes.spi.*;
 import com.oracle.truffle.api.*;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.nodes.*;
 
@@ -99,7 +99,7 @@
         return new OptimizedAssumption(name);
     }
 
-    @SlowPath
+    @TruffleBoundary
     @Override
     public <T> T iterateFrames(FrameInstanceVisitor<T> visitor) {
         initStackIntrospection();
@@ -138,7 +138,7 @@
         return iterateFrames(frame -> frame);
     }
 
-    @SlowPath
+    @TruffleBoundary
     @Override
     public FrameInstance getCurrentFrame() {
         initStackIntrospection();
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java	Tue Oct 21 00:22:51 2014 +0200
@@ -106,7 +106,7 @@
 
     public StructuredGraph lookup(ResolvedJavaMethod method, NodeInputList<ValueNode> arguments, Assumptions assumptions, CanonicalizerPhase canonicalizer) {
 
-        if (method.getAnnotation(CompilerDirectives.SlowPath.class) != null) {
+        if (method.getAnnotation(CompilerDirectives.TruffleBoundary.class) != null) {
             return null;
         }
 
@@ -316,7 +316,7 @@
     protected boolean shouldInline(MethodCallTargetNode methodCallTargetNode) {
         boolean result = (methodCallTargetNode.invokeKind() == InvokeKind.Special || methodCallTargetNode.invokeKind() == InvokeKind.Static) && methodCallTargetNode.targetMethod().canBeInlined() &&
                         !methodCallTargetNode.targetMethod().isNative() && methodCallTargetNode.targetMethod().getAnnotation(ExplodeLoop.class) == null &&
-                        methodCallTargetNode.targetMethod().getAnnotation(CompilerDirectives.SlowPath.class) == null &&
+                        methodCallTargetNode.targetMethod().getAnnotation(CompilerDirectives.TruffleBoundary.class) == null &&
                         !methodCallTargetNode.targetMethod().getDeclaringClass().equals(stringBuilderClass);
         return result;
     }
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java	Tue Oct 21 00:22:51 2014 +0200
@@ -645,11 +645,11 @@
     }
 
     /**
-     * Marks methods that are considered slowpath and should therefore not be inlined by default.
+     * Marks a method that it is considered as a boundary for Truffle partial evaluation.
      */
     @Retention(RetentionPolicy.RUNTIME)
     @Target({ElementType.METHOD})
-    public @interface SlowPath {
+    public @interface TruffleBoundary {
     }
 
     /**
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Instrument.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Instrument.java	Tue Oct 21 00:22:51 2014 +0200
@@ -25,7 +25,7 @@
 package com.oracle.truffle.api.instrument;
 
 import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.instrument.impl.*;
 import com.oracle.truffle.api.nodes.*;
@@ -49,7 +49,7 @@
  * <li>Minimize computation in standard execution paths.</li>
  * <li>If runtime calls must be made back to a tool, construct the instrument with a callback stored
  * in a {@code final} field.</li>
- * <li>Tool methods called by the instrument should be annotated as {@link SlowPath} to prevent them
+ * <li>Tool methods called by the instrument should be annotated as {@link TruffleBoundary} to prevent them
  * from being inlined into fast execution paths.</li>
  * <li>If computation in the execution path is needed, and if performance is important, then the
  * computation is best expressed as a guest language AST and evaluated using standard Truffle
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.java	Tue Oct 21 00:22:51 2014 +0200
@@ -27,7 +27,7 @@
 import java.util.*;
 
 import com.oracle.truffle.api.*;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.instrument.*;
 import com.oracle.truffle.api.nodes.*;
@@ -100,7 +100,7 @@
      * Reports to the instance of {@link Probe} holding this instrument, if any, that some essential
      * state has changed that requires deoptimization.
      */
-    @CompilerDirectives.SlowPath
+    @CompilerDirectives.TruffleBoundary
     protected void notifyProbeChanged(Instrument instrument) {
         Probe probe = getProbe();
         if (probe != null) {
@@ -372,7 +372,7 @@
          *
          * @param tag The tag to add to this probe.
          */
-        @SlowPath
+        @TruffleBoundary
         public void tagAs(SyntaxTag tag) {
             assert tag != null;
             if (!tags.contains(tag)) {
@@ -407,7 +407,7 @@
          *
          * @param instrument The instrument to add to this probe.
          */
-        @SlowPath
+        @TruffleBoundary
         public void addInstrument(Instrument instrument) {
             probeUnchanged.invalidate();
             super.internalAddInstrument(instrument);
@@ -420,7 +420,7 @@
          *
          * @param instrument The instrument to remove from this probe.
          */
-        @SlowPath
+        @TruffleBoundary
         public void removeInstrument(Instrument instrument) {
             probeUnchanged.invalidate();
             super.internalRemoveInstrument(instrument);
@@ -436,13 +436,13 @@
         }
 
         @Override
-        @SlowPath
+        @TruffleBoundary
         protected void notifyProbeChanged(Instrument instrument) {
             probeUnchanged.invalidate();
             probeUnchanged = Truffle.getRuntime().createAssumption();
         }
 
-        @SlowPath
+        @TruffleBoundary
         void setTrap(SyntaxTagTrap trap) {
             assert trap == null || isTaggedAs(trap.getTag());
             probeUnchanged.invalidate();
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java	Tue Oct 21 00:22:51 2014 +0200
@@ -30,7 +30,7 @@
 
 import com.oracle.truffle.api.*;
 import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.dsl.internal.*;
 import com.oracle.truffle.api.frame.*;
@@ -58,7 +58,7 @@
     private final DeclaredType nodeCost;
     private final TypeMirror compilerDirectives;
     private final TypeMirror compilerAsserts;
-    private final DeclaredType slowPath;
+    private final DeclaredType truffleBoundary;
     private final DeclaredType sourceSection;
     private final DeclaredType truffleOptions;
     private final DeclaredType compilationFinal;
@@ -86,7 +86,7 @@
         invalidAssumption = getRequired(context, InvalidAssumptionException.class);
         nodeInfoAnnotation = getRequired(context, NodeInfo.class);
         nodeCost = getRequired(context, NodeCost.class);
-        slowPath = getRequired(context, SlowPath.class);
+        truffleBoundary = getRequired(context, TruffleBoundary.class);
         sourceSection = getRequired(context, SourceSection.class);
         truffleOptions = getRequired(context, TruffleOptions.class);
         compilationFinal = getRequired(context, CompilationFinal.class);
@@ -204,8 +204,8 @@
         return truffleOptions;
     }
 
-    public DeclaredType getSlowPath() {
-        return slowPath;
+    public DeclaredType getTruffleBoundary() {
+        return truffleBoundary;
     }
 
     public DeclaredType getSourceSection() {
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java	Tue Oct 21 00:22:51 2014 +0200
@@ -1362,7 +1362,7 @@
             final boolean needsFrame = node.isFrameUsedByAnyGuard(getContext());
 
             if (!needsFrame) {
-                method.getAnnotationMirrors().add(new CodeAnnotationMirror(getContext().getTruffleTypes().getSlowPath()));
+                method.getAnnotationMirrors().add(new CodeAnnotationMirror(getContext().getTruffleTypes().getTruffleBoundary()));
             }
 
             addInternalValueParameters(method, node.getGenericSpecialization(), needsFrame, !needsFrame, false);
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLDefineFunctionBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLDefineFunctionBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -22,7 +22,7 @@
  */
 package com.oracle.truffle.sl.builtins;
 
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 import com.oracle.truffle.api.source.*;
@@ -46,7 +46,7 @@
         return code;
     }
 
-    @SlowPath
+    @TruffleBoundary
     private static void doDefineFunction(SLContext context, String code) {
         Source source = Source.fromText(code, "[defineFunction]");
         /* The same parsing code as for parsing the initial source. */
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -41,7 +41,7 @@
     }
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     public String change() {
         FrameInstance frameInstance = Truffle.getRuntime().getCallerFrame();
         Frame frame = frameInstance.getFrame(FrameAccess.READ_WRITE, false);
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLPrintlnBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLPrintlnBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -24,7 +24,7 @@
 
 import java.io.*;
 
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 import com.oracle.truffle.api.source.*;
@@ -37,7 +37,7 @@
  * <p>
  * Printing involves a lot of Java code, so we need to tell the optimizing system that it should not
  * unconditionally inline everything reachable from the println() method. This is done via the
- * {@link SlowPath} annotations.
+ * {@link TruffleBoundary} annotations.
  */
 @NodeInfo(shortName = "println")
 public abstract class SLPrintlnBuiltin extends SLBuiltinNode {
@@ -52,7 +52,7 @@
         return value;
     }
 
-    @SlowPath
+    @TruffleBoundary
     private static void doPrint(PrintStream out, long value) {
         out.println(value);
     }
@@ -63,7 +63,7 @@
         return value;
     }
 
-    @SlowPath
+    @TruffleBoundary
     private static void doPrint(PrintStream out, boolean value) {
         out.println(value);
     }
@@ -74,7 +74,7 @@
         return value;
     }
 
-    @SlowPath
+    @TruffleBoundary
     private static void doPrint(PrintStream out, String value) {
         out.println(value);
     }
@@ -85,7 +85,7 @@
         return value;
     }
 
-    @SlowPath
+    @TruffleBoundary
     private static void doPrint(PrintStream out, Object value) {
         out.println(value);
     }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLReadlnBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLReadlnBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -24,7 +24,7 @@
 
 import java.io.*;
 
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 import com.oracle.truffle.api.source.*;
@@ -55,7 +55,7 @@
         return result;
     }
 
-    @SlowPath
+    @TruffleBoundary
     private static String doRead(BufferedReader in) {
         try {
             return in.readLine();
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java	Tue Oct 21 00:22:51 2014 +0200
@@ -23,7 +23,7 @@
 package com.oracle.truffle.sl.builtins;
 
 import com.oracle.truffle.api.*;
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.frame.FrameInstance.FrameAccess;
@@ -47,7 +47,7 @@
         return createStackTrace();
     }
 
-    @SlowPath
+    @TruffleBoundary
     private static String createStackTrace() {
         StringBuilder str = new StringBuilder();
 
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLMulNode.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLMulNode.java	Tue Oct 21 00:22:51 2014 +0200
@@ -47,7 +47,7 @@
     }
 
     @Specialization
-    @SlowPath
+    @TruffleBoundary
     protected BigInteger mul(BigInteger left, BigInteger right) {
         return left.multiply(right);
     }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapper.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapper.java	Tue Oct 21 00:22:51 2014 +0200
@@ -73,7 +73,7 @@
         return probe;
     }
 
-    @SlowPath
+    @TruffleBoundary
     public void tagAs(SyntaxTag tag) {
         probe.tagAs(tag);
     }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapper.java	Tue Oct 21 00:22:48 2014 +0200
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapper.java	Tue Oct 21 00:22:51 2014 +0200
@@ -22,7 +22,7 @@
  */
 package com.oracle.truffle.sl.nodes.instrument;
 
-import com.oracle.truffle.api.CompilerDirectives.SlowPath;
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.frame.*;
 import com.oracle.truffle.api.instrument.*;
 import com.oracle.truffle.api.nodes.*;
@@ -61,7 +61,7 @@
         return probe;
     }
 
-    @SlowPath
+    @TruffleBoundary
     public void tagAs(SyntaxTag tag) {
         probe.tagAs(tag);
     }