Package com.oracle.truffle.api.frame
Interface FrameInstance
public interface FrameInstance
Represents a current frame instance on the stack. Please note that any frame instance must not be
used after the
iterateFrames()
method
returned.- Since:
- 0.8 or earlier
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns a node representing the callsite of the next new target on the stack.TheCallTarget
being invoked in this frame.default int
Returns an integer for the optimized tier of this method.getFrame
(FrameInstance.FrameAccess access) Accesses the underlying frame using a specifiedaccess mode
.default boolean
Returns whether or not the current frame is a compilation root.boolean
-
Method Details
-
getFrame
Accesses the underlying frame using a specifiedaccess mode
.- Since:
- 0.23
- See Also:
-
isVirtualFrame
boolean isVirtualFrame()- Since:
- 0.8 or earlier
-
getCompilationTier
default int getCompilationTier()Returns an integer for the optimized tier of this method. If0
is returned then this means that the frame is currently being interpreted without any optimization. The number of tiers is unlimited, but is typically restricted to a small set. e.g. 0-2. Where 0 could indicate interpreted, 1 indicates first tier and 2 indicates last tier compilation. It is best to not interpret this number and just print it for the user.- Since:
- 21.3.0
-
isCompilationRoot
default boolean isCompilationRoot()Returns whether or not the current frame is a compilation root. A compilation root is a compiledCallTarget
which was itself compiled i.e. not inlined into another target.- Since:
- 21.3.0
-
getCallNode
Node getCallNode()Returns a node representing the callsite of the next new target on the stack. This picture indicates howFrameInstance
groups the stack.=============== Current: ,>| CallTarget | FrameInstance | =============== Caller: '-| CallNode | FrameInstance ,>| CallTarget | | =============== '-| CallNode | FrameInstance | CallTarget | =============== ... =============== | CallNode | FrameInstance Initial call: | CallTarget | ===============
-
getCallTarget
CallTarget getCallTarget()TheCallTarget
being invoked in this frame.See
getCallNode()
for the relation between call node and CallTarget.- Since:
- 0.8 or earlier
-