diff options
author | Jim Ingham <jingham@apple.com> | 2012-02-29 03:40:22 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2012-02-29 03:40:22 +0000 |
commit | b0c72a5f584de8334f0af10e48ba687fc6e8ae70 (patch) | |
tree | 981c2805d85d318478a95bd27c4f54b8e4666a5a /lldb/source/Target/Thread.cpp | |
parent | 7bc0ec3aad663a2c81fddf9da38dba46bba6be19 (diff) | |
download | bcm5719-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/Target/Thread.cpp')
-rw-r--r-- | lldb/source/Target/Thread.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp index 0db727ed694..7a5e7f0e918 100644 --- a/lldb/source/Target/Thread.cpp +++ b/lldb/source/Target/Thread.cpp @@ -1069,7 +1069,10 @@ Thread::GetStackFrameList () void Thread::ClearStackFrames () { - if (m_curr_frames_sp && m_curr_frames_sp->GetNumFrames (false) > 1) + // Only store away the old "reference" StackFrameList if we got all its frames: + // FIXME: At some point we can try to splice in the frames we have fetched into + // the new frame as we make it, but let's not try that now. + if (m_curr_frames_sp && m_curr_frames_sp->GetAllFramesFetched()) m_prev_frames_sp.swap (m_curr_frames_sp); m_curr_frames_sp.reset(); } |