* Changes that should already have been part of r31228: StackFrame and

SourceView.
* Fixed the information flow problem in Architecture::CreateStackTrace()/
  ArchitectureX86::UpdateStackCpuState() by introducing a virtual
  UpdateStackFrameCpuState() which allows the architecture to update the CPU
  state it generated before after the function the state belongs to is known.
  That's where moving the instruction pointer to the previous instruction
  happens now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31229 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2009-06-24 22:10:07 +00:00
parent 840c76534f
commit 2460bf468b
7 changed files with 78 additions and 46 deletions
+2 -8
View File
@@ -15,11 +15,12 @@
StackFrame::StackFrame(stack_frame_type type, CpuState* cpuState,
target_addr_t frameAddress)
target_addr_t frameAddress, target_addr_t instructionPointer)
:
fType(type),
fCpuState(cpuState),
fFrameAddress(frameAddress),
fInstructionPointer(instructionPointer),
fReturnAddress(0),
fImage(NULL),
fFunction(NULL),
@@ -39,13 +40,6 @@ StackFrame::~StackFrame()
}
target_addr_t
StackFrame::InstructionPointer() const
{
return fCpuState->InstructionPointer();
}
void
StackFrame::SetReturnAddress(target_addr_t address)
{