Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleRuntime.java @ 15064:f675818d9ad0
new getStackTrace and getCurrentFrame functionality in TruffleRuntime
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Fri, 11 Apr 2014 11:53:11 +0200 |
parents | 64dcb92ee75a |
children | 607e33885130 |
comparison
equal
deleted
inserted
replaced
15063:36e1a11a72b3 | 15064:f675818d9ad0 |
---|---|
23 * questions. | 23 * questions. |
24 */ | 24 */ |
25 package com.oracle.truffle.api; | 25 package com.oracle.truffle.api; |
26 | 26 |
27 import com.oracle.truffle.api.frame.*; | 27 import com.oracle.truffle.api.frame.*; |
28 import com.oracle.truffle.api.impl.*; | |
28 import com.oracle.truffle.api.nodes.*; | 29 import com.oracle.truffle.api.nodes.*; |
29 | 30 |
30 /** | 31 /** |
31 * Interface representing a Truffle runtime object. The runtime is responsible for creating call | 32 * Interface representing a Truffle runtime object. The runtime is responsible for creating call |
32 * targets and performing optimizations for them. | 33 * targets and performing optimizations for them. |
88 * | 89 * |
89 * @param frameDescriptor the frame descriptor describing this frame's values | 90 * @param frameDescriptor the frame descriptor describing this frame's values |
90 * @return the newly created materialized frame object | 91 * @return the newly created materialized frame object |
91 */ | 92 */ |
92 MaterializedFrame createMaterializedFrame(Object[] arguments, FrameDescriptor frameDescriptor); | 93 MaterializedFrame createMaterializedFrame(Object[] arguments, FrameDescriptor frameDescriptor); |
94 | |
95 /** | |
96 * Accesses the current stack, i.e., the contents of the {@link Frame}s and the associated | |
97 * {@link CallTarget}s. For this functionality to work each call needs to go through | |
98 * {@link DefaultCallNode#callProxy(MaterializedFrameNotify, CallTarget, VirtualFrame, Object[])} | |
99 * instead of calling {@link CallTarget#call(Object[])} directly. | |
100 * | |
101 * @return a lazy collection of {@link FrameInstance}. | |
102 */ | |
103 Iterable<FrameInstance> getStackTrace(); | |
104 | |
105 /** | |
106 * Accesses the current frame, i.e., the frame of the closest {@link CallTarget}. It is | |
107 * important to note that this {@link FrameInstance} supports only slow path access. | |
108 */ | |
109 FrameInstance getCurrentFrame(); | |
93 } | 110 } |