summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2012-02-29 03:40:22 +0000
committerJim Ingham <jingham@apple.com>2012-02-29 03:40:22 +0000
commitb0c72a5f584de8334f0af10e48ba687fc6e8ae70 (patch)
tree981c2805d85d318478a95bd27c4f54b8e4666a5a /lldb/source/Plugins/Process/Utility/UnwindLLDB.h
parent7bc0ec3aad663a2c81fddf9da38dba46bba6be19 (diff)
downloadbcm5719-llvm-b0c72a5f584de8334f0af10e48ba687fc6e8ae70.tar.gz
bcm5719-llvm-b0c72a5f584de8334f0af10e48ba687fc6e8ae70.zip
Make the StackFrameList::GetFrameAtIndex only fetch as many stack frames as needed to
get the frame requested. <rdar://problem/10943135> llvm-svn: 151705
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/UnwindLLDB.h')
-rw-r--r--lldb/source/Plugins/Process/Utility/UnwindLLDB.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Utility/UnwindLLDB.h b/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
index b9352b61b8b..ff4030f6364 100644
--- a/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
+++ b/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
@@ -56,6 +56,7 @@ protected:
DoClear()
{
m_frames.clear();
+ m_unwind_complete = false;
}
virtual uint32_t
@@ -98,6 +99,10 @@ private:
typedef SHARED_PTR(Cursor) CursorSP;
std::vector<CursorSP> m_frames;
+ bool m_unwind_complete; // If this is true, we've enumerated all the frames in the stack, and m_frames.size() is the
+ // number of frames, etc. Otherwise we've only gone as far as directly asked, and m_frames.size()
+ // is how far we've currently gone.
+
bool AddOneMoreFrame (ABI *abi);
bool AddFirstFrame ();
OpenPOWER on IntegriCloud