From 68275d5e56e7c89b18e7f8da2dbfb529b6ced5b6 Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Fri, 27 Aug 2010 21:47:54 +0000 Subject: Made it so we update the current frames from the previous frames by doing STL swaps on the variable list, value object list, and disassembly. This avoids us having to try and update frame indexes and other things that were getting out of sync. llvm-svn: 112301 --- lldb/source/Target/StackFrame.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'lldb/source/Target/StackFrame.cpp') diff --git a/lldb/source/Target/StackFrame.cpp b/lldb/source/Target/StackFrame.cpp index 972c19a2175..967df8815f2 100644 --- a/lldb/source/Target/StackFrame.cpp +++ b/lldb/source/Target/StackFrame.cpp @@ -531,11 +531,14 @@ StackFrame::Dump (Stream *strm, bool show_frame_index) m_sc.DumpStopContext(strm, &m_thread.GetProcess(), GetFrameCodeAddress(), show_module, show_inline); } - void -StackFrame::SetSymbolContext (const SymbolContext& sc) +StackFrame::UpdateCurrentFrameFromPreviousFrame (StackFrame &frame) { - m_sc = sc; - m_flags.Clear(eSymbolContextEverything); - m_flags.Set(m_sc.GetResolvedMask ()); + assert (GetStackID() == frame.GetStackID()); // TODO: remove this after some testing + m_variable_list_sp = frame.m_variable_list_sp; + m_value_object_list.Swap (frame.m_value_object_list); + if (!m_disassembly.GetString().empty()) + m_disassembly.GetString().swap (m_disassembly.GetString()); } + + -- cgit v1.2.3