Clarified the intent of the SymbolContextScope class in the header

documentation. Symbol now inherits from the symbol
context scope so that the StackID can use a "SymbolContextScope *"
instead of a blockID (which could have been the same as some other
blockID from another symbol file). 

Modified the stacks that are created on subsequent stops to reuse
the previous stack frame objects which will allow for some internal
optimization using pointer comparisons during stepping. 

llvm-svn: 112495
This commit is contained in:
Greg Clayton
2010-08-30 18:11:35 +00:00
parent e2f8bdac14
commit 59e8fc1c74
14 changed files with 410 additions and 213 deletions

View File

@@ -65,7 +65,7 @@ UnwindLibUnwind::GetFrameInfoAtIndex (uint32_t idx, addr_t& cfa, addr_t& pc)
RegisterContext *
UnwindLibUnwind::CreateRegisterContextForFrame (StackFrame *frame)
{
uint32_t idx = frame->GetConcreteFrameIndex ();
uint32_t idx = frame->GetUnwindFrameIndex ();
const uint32_t frame_count = GetFrameCount();
if (idx < frame_count)
return new LibUnwindRegisterContext (m_thread, frame, m_cursors[idx]);