diff options
author | Sean Callanan <scallanan@apple.com> | 2010-11-04 01:51:38 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-11-04 01:51:38 +0000 |
commit | 10af7c430a426ab649ac000152bc51c3601eb395 (patch) | |
tree | f1b9df6c5f74117250ad3d64a198bc7ab44faa69 /lldb/source/Target/ThreadPlanCallFunction.cpp | |
parent | 7108dad1308e3b7718bf048980f9944e4e3d1a58 (diff) | |
download | bcm5719-llvm-10af7c430a426ab649ac000152bc51c3601eb395.tar.gz bcm5719-llvm-10af7c430a426ab649ac000152bc51c3601eb395.zip |
Re-enabled LLDB's pointer checkers, and moved the
implementation of the Objective-C object checkers
into the Objective-C language runtime.
llvm-svn: 118226
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallFunction.cpp')
-rw-r--r-- | lldb/source/Target/ThreadPlanCallFunction.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lldb/source/Target/ThreadPlanCallFunction.cpp b/lldb/source/Target/ThreadPlanCallFunction.cpp index 65349ddaeb7..85de672a63d 100644 --- a/lldb/source/Target/ThreadPlanCallFunction.cpp +++ b/lldb/source/Target/ThreadPlanCallFunction.cpp @@ -150,6 +150,17 @@ ThreadPlanCallFunction::ThreadPlanCallFunction (Thread &thread, ThreadPlanCallFunction::~ThreadPlanCallFunction () { + if (m_valid && !IsPlanComplete()) + DoTakedown(); +} + +void +ThreadPlanCallFunction::DoTakedown () +{ + m_thread.RestoreSaveFrameZero(m_register_backup); + m_thread.ClearStackFrames(); + SetPlanComplete(); + ClearBreakpoints(); } void @@ -253,11 +264,8 @@ ThreadPlanCallFunction::ShouldStop (Event *event_ptr) } } - m_thread.RestoreSaveFrameZero(m_register_backup); - m_thread.ClearStackFrames(); - SetPlanComplete(); + DoTakedown(); - ClearBreakpoints(); return true; } else |