public interface FrameInstance
iterateFrames()
method
returned.To iterate the current frame instances on
the stack.
Modifier and Type | Interface and Description |
---|---|
static class |
FrameInstance.FrameAccess
Access mode for
FrameInstance.getFrame(FrameAccess) . |
Modifier and Type | Method and Description |
---|---|
Node |
getCallNode()
Returns a node representing the callsite of the next new target on the stack.
|
CallTarget |
getCallTarget()
The
CallTarget being invoked in this frame. |
default int |
getCompilationTier()
Returns an integer for the optimized tier of this method.
|
Frame |
getFrame(FrameInstance.FrameAccess access)
Accesses the underlying frame using a specified
access mode . |
default boolean |
isCompilationRoot()
Returns whether or not the current frame is a compilation root.
|
boolean |
isVirtualFrame() |
Frame getFrame(FrameInstance.FrameAccess access)
access mode
.FrameInstance.FrameAccess
boolean isVirtualFrame()
default int getCompilationTier()
0
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.default boolean isCompilationRoot()
CallTarget
which was itself compiled i.e. not inlined into another target.Node getCallNode()
FrameInstance
groups the stack.
=============== Current: ,>| CallTarget | FrameInstance | =============== Caller: '-| CallNode | FrameInstance ,>| CallTarget | | =============== '-| CallNode | FrameInstance | CallTarget | =============== ... =============== | CallNode | FrameInstance Initial call: | CallTarget | ===============
CallTarget getCallTarget()
CallTarget
being invoked in this frame.
See FrameInstance.getCallNode()
for the relation between call node and CallTarget.