public abstract class AbstractRegisters extends Object
Modifier and Type | Field and Description |
---|---|
private double[] |
fprs
Floating point registers
|
private double[] |
fprsShadow |
private WordArray |
gprs
General purpose registers
|
private WordArray |
gprsShadow |
private boolean |
inuse
Do exception registers currently contain live values?
|
protected Address |
ip
Instruction address register
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractRegisters() |
Modifier and Type | Method and Description |
---|---|
abstract void |
adjustESP(Offset delta,
boolean traceAdjustments)
A thread's stack has been moved or resized.
|
void |
clear()
Zeroes all registers
|
protected void |
dump() |
double[] |
getFPRs() |
WordArray |
getGPRs() |
abstract Address |
getInnermostFramePointer() |
abstract Address |
getInnermostInstructionAddress() |
boolean |
getInUse() |
Address |
getIP() |
Address |
getIPLocation() |
abstract void |
initializeStack(Address ip,
Address sp)
The following method initializes a thread stack as if
"startoff" method had been called by an empty baseline-compiled
"sentinel" frame with one local variable
|
abstract void |
setInnermost(Address returnAddress,
Address callerFramePointer)
Set ip & fp. used to control the stack frame at which a scan of
the stack during GC will start, for ex., the top java frame for
a thread that is blocked in native code during GC.
|
void |
setInUse(boolean b) |
void |
setIP(Address ip)
Sets instruction address register.
|
abstract void |
unwindStackFrame() |
private final WordArray gprsShadow
private final double[] fprs
private final double[] fprsShadow
private boolean inuse
protected AbstractRegisters()
public final boolean getInUse()
public final void setInUse(boolean b)
public final double[] getFPRs()
public final void setIP(Address ip)
ip
- the new value for the instruction address registerpublic final Address getIPLocation()
public void clear()
protected void dump()
public abstract void initializeStack(Address ip, Address sp)
ip
- The instruction pointer for the "startoff" methodsp
- The base of the stackpublic abstract void adjustESP(Offset delta, boolean traceAdjustments)
delta
- The displacement to be appliedtraceAdjustments
- Log all adjustments to stderr if truepublic abstract void setInnermost(Address returnAddress, Address callerFramePointer)
returnAddress
- the new return address (i.e. ip)callerFramePointer
- the new frame pointer (i.e. fp)public abstract Address getInnermostFramePointer()
public abstract void unwindStackFrame()
public abstract Address getInnermostInstructionAddress()