diff graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java @ 18749:6fa518bf5d1b

SL: add boundaries for BigInteger add and String add.
author Christian Humer <christian.humer@gmail.com>
date Mon, 29 Dec 2014 23:37:58 +0100
parents abe7128ca473
children 301fea50e42e
line wrap: on
line diff
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java	Wed Dec 17 11:24:42 2014 +0100
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java	Mon Dec 29 23:37:58 2014 +0100
@@ -25,6 +25,7 @@
 import java.math.*;
 
 import com.oracle.truffle.api.*;
+import com.oracle.truffle.api.CompilerDirectives.*;
 import com.oracle.truffle.api.dsl.*;
 import com.oracle.truffle.api.nodes.*;
 import com.oracle.truffle.api.source.*;
@@ -80,6 +81,7 @@
      * both input values are {@code long} values but the primitive addition overflows.
      */
     @Specialization
+    @TruffleBoundary
     protected BigInteger add(BigInteger left, BigInteger right) {
         return left.add(right);
     }
@@ -93,6 +95,7 @@
      * function is defined in {@link #isString this class}, but could also be in any superclass.
      */
     @Specialization(guards = "isString")
+    @TruffleBoundary
     protected String add(Object left, Object right) {
         return left.toString() + right.toString();
     }