java.lang.Object
com.ibm.j9ddr.corereaders.tdump.zebedee.le.DsaStackFrame
This class represents a single LE stack frame (aka DSA). Use
getParentFrame()
to
get the stack frame that called this one.
XXX see ceekdmdr-
Constructor Summary
ConstructorsConstructorDescriptionDsaStackFrame
(long address, boolean isDownStack, RegisterSet registers, AddressSpace space, Caa caa) Create a new DsaStackFrame from the given dsa address and with the given stack direction. -
Method Summary
Modifier and TypeMethodDescriptionReturns the AddressSpace we belong to.long
Returns the address of the DSA for this stack frame.Returns the name of the functionlong
Returns the offset from the function entry point.long
Returns the entry point address for the function belonging to this dsa.static String
getEntryPointName
(AddressSpace space, long ep) Returns the function name for the given entry point address.static String
getEntryPointName
(AddressSpace space, long ep, boolean scan) Returns the function name for the given entry point address.Returns the function call that this stack frame represents.Returns the caller of this stack frame.Returns the current register set (or null if there are no saved registers).boolean
-
Constructor Details
-
DsaStackFrame
public DsaStackFrame(long address, boolean isDownStack, RegisterSet registers, AddressSpace space, Caa caa) throws IOException Create a new DsaStackFrame from the given dsa address and with the given stack direction.- Throws:
IOException
-
-
Method Details
-
isDownStack
public boolean isDownStack() -
getAddressSpace
Returns the AddressSpace we belong to. -
getDsaAddress
public long getDsaAddress()Returns the address of the DSA for this stack frame. -
getRegisterSet
Returns the current register set (or null if there are no saved registers). -
getEntryOffset
public long getEntryOffset()Returns the offset from the function entry point. This is the offset within the function's executable code where the call was made to the successor stack frame. -
getEntryPoint
public long getEntryPoint()Returns the entry point address for the function belonging to this dsa. -
getEntryName
Returns the name of the function -
getParentFrame
Returns the caller of this stack frame.- Returns:
- the stack frame for the function that called this one or null if we have reached the bottom of the stack or an error has occurred
-
getFunction
Returns the function call that this stack frame represents. -
getEntryPointName
Returns the function name for the given entry point address. XXX This was borrowed from the old svcdump code. We really should reuse some of the code elsewhere in this class that obtains the name but it's currently horribly intertwined with other DSA logic. Might be possible to fake up a DSA?- Throws:
IOException
-
getEntryPointName
public static String getEntryPointName(AddressSpace space, long ep, boolean scan) throws IOException Returns the function name for the given entry point address. If the scan arg is set true, keep searching backwards for a maximum of 0x1000 bytes for a valid entry point.- Throws:
IOException
-