Mercurial > hg > truffle
diff truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/call/SLDispatchNode.java @ 22003:5bc7f7b867ab
Making debugger always on for each TruffleVM execution. Introducing EventConsumer to process such debugger events. Requesting each RootNode to be associated with a TruffleLanguage, so debugger can find out proper context for each Node where executions gets suspended.
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Sat, 18 Jul 2015 18:03:36 +0200 |
parents | c07e64ecb528 |
children | 503529c65456 |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/call/SLDispatchNode.java Thu Jul 16 19:11:31 2015 +0200 +++ b/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/call/SLDispatchNode.java Sat Jul 18 18:03:36 2015 +0200 @@ -95,8 +95,8 @@ * cachedFunction. */ @Specialization(limit = "INLINE_CACHE_SIZE", guards = "function == cachedFunction", assumptions = "cachedFunction.getCallTargetStable()") - protected static Object doDirect(VirtualFrame frame, SLFunction function, Object[] arguments, // - @Cached("function") SLFunction cachedFunction, // + protected static Object doDirect(VirtualFrame frame, SLFunction function, Object[] arguments, // + @Cached("function") SLFunction cachedFunction, // @Cached("create(cachedFunction.getCallTarget())") DirectCallNode callNode) { /* Inline cache hit, we are safe to execute the cached call target. */ return callNode.call(frame, arguments); @@ -108,7 +108,7 @@ * no method inlining is performed. */ @Specialization(contains = "doDirect") - protected static Object doIndirect(VirtualFrame frame, SLFunction function, Object[] arguments, // + protected static Object doIndirect(VirtualFrame frame, SLFunction function, Object[] arguments, // @Cached("create()") IndirectCallNode callNode) { /* * SL has a quite simple call lookup: just ask the function for the current call target, and