Cleaned up the inline stack frame code one more time to prepare for inlined

code stepping. Also we now store the stack frames for the current and previous
stops in the thread in std::auto_ptr objects. When we create a thread stack
frame list we pass the previous frame into it so it can re-use the frames
and maintain will allow for variable changes to be detected. I will implement
the stack frame reuse next.

llvm-svn: 112152
This commit is contained in:
Greg Clayton
2010-08-26 02:28:22 +00:00
parent e5334b484a
commit 0445d8f498
8 changed files with 245 additions and 244 deletions

View File

@@ -41,7 +41,6 @@ StackFrame::StackFrame
lldb::user_id_t concrete_frame_index,
Thread &thread,
lldb::addr_t cfa,
uint32_t inline_height,
lldb::addr_t pc,
const SymbolContext *sc_ptr
) :
@@ -49,7 +48,7 @@ StackFrame::StackFrame
m_concrete_frame_index (concrete_frame_index),
m_thread (thread),
m_reg_context_sp (),
m_id (cfa, inline_height),
m_id (cfa, 0),
m_pc (NULL, pc),
m_sc (),
m_flags (),
@@ -72,7 +71,6 @@ StackFrame::StackFrame
Thread &thread,
const RegisterContextSP &reg_context_sp,
lldb::addr_t cfa,
uint32_t inline_height,
lldb::addr_t pc,
const SymbolContext *sc_ptr
) :
@@ -80,7 +78,7 @@ StackFrame::StackFrame
m_concrete_frame_index (concrete_frame_index),
m_thread (thread),
m_reg_context_sp (reg_context_sp),
m_id (cfa, inline_height),
m_id (cfa, 0),
m_pc (NULL, pc),
m_sc (),
m_flags (),
@@ -109,7 +107,6 @@ StackFrame::StackFrame
Thread &thread,
const RegisterContextSP &reg_context_sp,
lldb::addr_t cfa,
uint32_t inline_height,
const Address& pc_addr,
const SymbolContext *sc_ptr
) :
@@ -117,7 +114,7 @@ StackFrame::StackFrame
m_concrete_frame_index (concrete_frame_index),
m_thread (thread),
m_reg_context_sp (reg_context_sp),
m_id (cfa, inline_height),
m_id (cfa, 0),
m_pc (pc_addr),
m_sc (),
m_flags (),
@@ -473,12 +470,6 @@ StackFrame::GetValueObjectList()
return m_value_object_list;
}
bool
StackFrame::IsConcrete () const
{
return m_id.GetInlineHeight () == 0;
}
Target *
StackFrame::CalculateTarget ()
{