Mercurial > hg > truffle
diff truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/TruffleTCK.java @ 22141:46384e637592
Make sure the proper TruffleVM execution context is re-set before invoking an operation on a JavaInterop wrapper obtained via Symbol.as method.
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Mon, 14 Sep 2015 11:02:52 +0200 |
parents | 92906003d607 |
children | cf604b9633c9 |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/TruffleTCK.java Thu Sep 10 16:26:31 2015 +0200 +++ b/truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/TruffleTCK.java Mon Sep 14 11:02:52 2015 +0200 @@ -583,10 +583,13 @@ } TruffleVM.Symbol s = vm().findGlobalSymbol(compoundObjectName); assert s != null : "Symbol " + compoundObjectName + " is not found!"; - CompoundObject obj = s.invoke(null).as(CompoundObject.class); + final TruffleVM.Symbol value = s.invoke(null); + CompoundObject obj = value.as(CompoundObject.class); + assertNotNull("Compound object for " + value + " found", obj); int traverse = RANDOM.nextInt(10); - while (traverse-- >= 0) { + for (int i = 1; i <= traverse; i++) { obj = obj.returnsThis(); + assertNotNull("Remains non-null even after " + i + " iteration", obj); } return obj; }