APIdia Launch Partner
Top Fields Constructors Methods
sun.jvm.hotspot.runtime

public Class VFrame

extends Object
Class Inheritance
Known Direct Subclasses
sun.jvm.hotspot.runtime.ExternalVFrame, sun.jvm.hotspot.runtime.JavaVFrame
Imports
java.io.*, sun.jvm.hotspot.code.*, sun.jvm.hotspot.utilities.*, sun.jvm.hotspot.debugger.Address

Field Summary

Modifier and TypeField and Description
protected Frame
protected RegisterMap
protected JavaThread

Constructor Summary

AccessConstructor and Description
protected
VFrame(Frame f, RegisterMap regMap, JavaThread thread)

Method Summary

Modifier and TypeMethod and Description
public Frame
getFrame()

Accessors

public RegisterMap
public JavaThread
public boolean
public boolean
public boolean
isEntryFrame()

Type testing operations

public boolean
public boolean
public boolean
isTop()

Answers if the this is the top vframe in the frame, i.e., if the sender vframe is in the caller frame

public JavaVFrame
javaSender()

Returns the next javaVFrame on the stack (skipping all other kinds of frames).

public boolean
mayBeImpreciseDbg()

An indication of whether this VFrame is "precise" or a best guess.

public static VFrame
newVFrame(Frame f, RegisterMap regMap, JavaThread thread, boolean unsafe, boolean mayBeImprecise)

Factory method for creating vframes.

public static VFrame
newVFrame(Frame f, RegisterMap regMap, JavaThread thread)

Factory method for creating vframes.

public void
public void
public void
public VFrame
sender()

Returns the sender vframe

public VFrame
sender(boolean mayBeImprecise)

Returns the sender vframe; takes argument for debugging situation

public VFrame
top()

Returns top vframe within same frame (see isTop())

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

frback to summary
protected Frame fr
regMapback to summary
protected RegisterMap regMap
threadback to summary
protected JavaThread thread

Constructor Detail

VFrameback to summary
protected VFrame(Frame f, RegisterMap regMap, JavaThread thread)

Method Detail

getFrameback to summary
public Frame getFrame()

Accessors

getRegisterMapback to summary
public RegisterMap getRegisterMap()
getThreadback to summary
public JavaThread getThread()
isCompiledFrameback to summary
public boolean isCompiledFrame()
isDeoptimizedback to summary
public boolean isDeoptimized()
isEntryFrameback to summary
public boolean isEntryFrame()

Type testing operations

isInterpretedFrameback to summary
public boolean isInterpretedFrame()
isJavaFrameback to summary
public boolean isJavaFrame()
isTopback to summary
public boolean isTop()

Answers if the this is the top vframe in the frame, i.e., if the sender vframe is in the caller frame

javaSenderback to summary
public JavaVFrame javaSender()

Returns the next javaVFrame on the stack (skipping all other kinds of frames). In the debugging situation, allows the "imprecise" flag to propagate up the stack. We must not assert that a ScopeDesc exists for the topmost compiled frame on the stack.

mayBeImpreciseDbgback to summary
public boolean mayBeImpreciseDbg()

An indication of whether this VFrame is "precise" or a best guess. This is used in the debugging system to handle the top frame on the stack, which, since the system will in general not be at a safepoint, has to make some guesses about exactly where in the execution it is. Any debugger should indicate to the user that the information for this frame may not be 100% correct. FIXME: may need to move this up into VFrame instead of keeping it in CompiledVFrame.

newVFrameback to summary
public static VFrame newVFrame(Frame f, RegisterMap regMap, JavaThread thread, boolean unsafe, boolean mayBeImprecise)

Factory method for creating vframes. The "unsafe" flag turns off an assertion which the runtime system uses to ensure integrity, but which must not be applied in the debugging situation. The "mayBeImprecise" flag should be set to true for the case of the top frame in the debugging system (obtained via JavaThread.getCurrentFrameGuess()).

newVFrameback to summary
public static VFrame newVFrame(Frame f, RegisterMap regMap, JavaThread thread)

Factory method for creating vframes. This is equivalent to calling the above version with the "unsafe" and "imprecise" flags set to false.

printOnback to summary
public void printOn(PrintStream tty)
printValueback to summary
public void printValue()
printValueOnback to summary
public void printValueOn(PrintStream tty)
senderback to summary
public VFrame sender()

Returns the sender vframe

senderback to summary
public VFrame sender(boolean mayBeImprecise)

Returns the sender vframe; takes argument for debugging situation

topback to summary
public VFrame top()

Returns top vframe within same frame (see isTop())