public final class Registers extends AbstractRegisters
Modifier and Type | Field and Description |
---|---|
Address |
fp
Frame pointer
|
ip
Constructor and Description |
---|
Registers() |
Modifier and Type | Method and Description |
---|---|
void |
adjustESP(Offset delta,
boolean traceAdjustments)
A thread's stack has been moved or resized.
|
void |
clear()
Zeroes all registers
|
void |
dump() |
Address |
getInnermostFramePointer() |
Address |
getInnermostInstructionAddress() |
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
|
void |
setInnermost()
set ip and fp values to those of the caller. used just prior to entering
sigwait to set fp & ip so that GC will scan the threads stack
starting at the frame of the method that called sigwait.
|
void |
setInnermost(Address newip,
Address newfp)
Sets 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 |
unwindStackFrame()
Updates the machine state as if the stackframe were unwound.
|
getFPRs, getGPRs, getInUse, getIP, getIPLocation, setInUse, setIP
public Registers()
public void clear()
AbstractRegisters
clear
in class AbstractRegisters
public Address getInnermostFramePointer()
getInnermostFramePointer
in class AbstractRegisters
public Address getInnermostInstructionAddress()
getInnermostInstructionAddress
in class AbstractRegisters
public void unwindStackFrame()
unwindStackFrame
in class AbstractRegisters
public void setInnermost(Address newip, Address newfp)
setInnermost
in class AbstractRegisters
newip
- the new instruction pointernewfp
- the new frame pointerpublic void setInnermost()
public void initializeStack(Address ip, Address sp)
initializeStack
in class AbstractRegisters
ip
- The instruction pointer for the "startoff" methodsp
- The base of the stackpublic void adjustESP(Offset delta, boolean traceAdjustments)
adjustESP
in class AbstractRegisters
delta
- The displacement to be appliedtraceAdjustments
- Log all adjustments to stderr if truepublic void dump()
dump
in class AbstractRegisters