[Lldb-commits] [lldb] r163433 - in /lldb/trunk: include/lldb/Target/Thread.h source/Target/Thread.cpp
Jim Ingham
jingham at apple.com
Fri Sep 7 16:36:43 PDT 2012
Author: jingham
Date: Fri Sep 7 18:36:43 2012
New Revision: 163433
URL: http://llvm.org/viewvc/llvm-project?rev=163433&view=rev
Log:
Save and restore the current inlined depth over function calls.
Modified:
lldb/trunk/include/lldb/Target/Thread.h
lldb/trunk/source/Target/Thread.cpp
Modified: lldb/trunk/include/lldb/Target/Thread.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Thread.h?rev=163433&r1=163432&r2=163433&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/Thread.h (original)
+++ lldb/trunk/include/lldb/Target/Thread.h Fri Sep 7 18:36:43 2012
@@ -128,6 +128,8 @@
uint32_t orig_stop_id; // Dunno if I need this yet but it is an interesting bit of data.
lldb::StopInfoSP stop_info_sp; // You have to restore the stop info or you might continue with the wrong signals.
RegisterCheckpoint register_backup; // You need to restore the registers, of course...
+ uint32_t current_inlined_depth;
+ lldb::addr_t current_inlined_pc;
};
static void
@@ -280,7 +282,7 @@
uint32_t
GetCurrentInlinedDepth()
{
- return GetStackFrameList()->DecrementCurrentInlinedDepth();
+ return GetStackFrameList()->GetCurrentInlinedDepth();
}
virtual lldb::StackFrameSP
Modified: lldb/trunk/source/Target/Thread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Thread.cpp?rev=163433&r1=163432&r2=163433&view=diff
==============================================================================
--- lldb/trunk/source/Target/Thread.cpp (original)
+++ lldb/trunk/source/Target/Thread.cpp Fri Sep 7 18:36:43 2012
@@ -241,6 +241,8 @@
ProcessSP process_sp (GetProcess());
if (process_sp)
saved_state.orig_stop_id = process_sp->GetStopID();
+ saved_state.current_inlined_depth = GetCurrentInlinedDepth();
+
return true;
}
@@ -251,6 +253,7 @@
if (saved_state.stop_info_sp)
saved_state.stop_info_sp->MakeStopInfoValid();
SetStopInfo(saved_state.stop_info_sp);
+ GetStackFrameList()->SetCurrentInlinedDepth (saved_state.current_inlined_depth);
return true;
}
More information about the lldb-commits
mailing list