summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanCallFunction.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-11-04 01:51:38 +0000
committerSean Callanan <scallanan@apple.com>2010-11-04 01:51:38 +0000
commit10af7c430a426ab649ac000152bc51c3601eb395 (patch)
treef1b9df6c5f74117250ad3d64a198bc7ab44faa69 /lldb/source/Target/ThreadPlanCallFunction.cpp
parent7108dad1308e3b7718bf048980f9944e4e3d1a58 (diff)
downloadbcm5719-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.cpp16
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
OpenPOWER on IntegriCloud