StackFrameStream iterates through the frames of a thread starting from top most frame. It automatically takes care of updating the location of all (callee-saved) registers.
Note
If a thread is stopped at a safepoint, all registers are saved, not only the callee-saved ones.
Use:
for(StackFrameStream fst = new StackFrameStream(thread); !fst.isDone(); fst.next()) {
...
}
| Modifier and Type | Field and Description |
|---|---|
| private Frame | |
| private boolean | |
| private RegisterMap |
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public Frame | |
| public RegisterMap | |
| public boolean | |
| public void |
| fr | back to summary |
|---|---|
| private Frame fr | |
| isDone | back to summary |
|---|---|
| private boolean isDone | |
| regMap | back to summary |
|---|---|
| private RegisterMap regMap | |
| StackFrameStream | back to summary |
|---|---|
| public StackFrameStream(JavaThread thread) Equivalent to StackFrameStream(thread, true) | |
| StackFrameStream | back to summary |
|---|---|
| public StackFrameStream(JavaThread thread, boolean update) | |
| getCurrent | back to summary |
|---|---|
| public Frame getCurrent() Query | |
| getRegisterMap | back to summary |
|---|---|
| public RegisterMap getRegisterMap() | |
| isDone | back to summary |
|---|---|
| public boolean isDone() Iteration | |
| next | back to summary |
|---|---|
| public void next() | |