# HG changeset patch # User Christian Humer # Date 1419892678 -3600 # Node ID 6fa518bf5d1b4962817654d24d524e4f2ddfb041 # Parent 3d6e630a72f10037572c831fe3f11e0e626cd504 SL: add boundaries for BigInteger add and String add. diff -r 3d6e630a72f1 -r 6fa518bf5d1b graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java --- 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(); }