Mercurial > hg > truffle
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(); }