aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp
diff options
context:
space:
mode:
authorTodd Fiala <todd.fiala@gmail.com>2016-08-19 03:03:58 +0000
committerTodd Fiala <todd.fiala@gmail.com>2016-08-19 03:03:58 +0000
commita07e4a8352562f0d63191ed76a152166e14bb268 (patch)
tree63b8691ddfcad1a9569002b503a830dd78a763e8 /lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp
parentfdc4c6b426aa6492ce3ed175fc6180aec5964fce (diff)
downloadllvm-a07e4a8352562f0d63191ed76a152166e14bb268.zip
llvm-a07e4a8352562f0d63191ed76a152166e14bb268.tar.gz
llvm-a07e4a8352562f0d63191ed76a152166e14bb268.tar.bz2
Revert "Add StructuredData plugin type; showcase with new DarwinLog feature"
This reverts commit 1d885845d1451e7b232f53fba2e36be67aadabd8. llvm-svn: 279200
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp119
1 files changed, 0 insertions, 119 deletions
diff --git a/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp b/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp
deleted file mode 100644
index b2383e4..0000000
--- a/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//===-- ThreadPlanCallOnFunctionExit.cpp ------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "lldb/Target/ThreadPlanCallOnFunctionExit.h"
-
-using namespace lldb;
-using namespace lldb_private;
-
-ThreadPlanCallOnFunctionExit::ThreadPlanCallOnFunctionExit(Thread &thread,
- const Callback
- &callback) :
- ThreadPlan(ThreadPlanKind::eKindGeneric, "CallOnFunctionExit",
- thread,
- eVoteNoOpinion, eVoteNoOpinion // TODO check with Jim on these
- ),
- m_callback(callback)
-{
- // We are not a user-generated plan.
- SetIsMasterPlan(false);
-}
-
-void
-ThreadPlanCallOnFunctionExit::DidPush()
-{
- // We now want to queue the "step out" thread plan so it executes
- // and completes.
-
- // Set stop vote to eVoteNo.
- m_step_out_threadplan_sp = GetThread()
- .QueueThreadPlanForStepOut(false, // abort other plans
- nullptr, // addr_context
- true, // first instruction
- true, // stop other threads
- eVoteNo, // do not say "we're stopping"
- eVoteNoOpinion, // don't care about
- // run state broadcasting
- 0, // frame_idx
- eLazyBoolCalculate // avoid code w/o debinfo
- );
-}
-
-// -------------------------------------------------------------------------
-// ThreadPlan API
-// -------------------------------------------------------------------------
-
-void
-ThreadPlanCallOnFunctionExit::GetDescription(Stream *s, lldb::DescriptionLevel
- level)
-{
- if (!s)
- return;
- s->Printf("Running until completion of current function, then making "
- "callback.");
-}
-
-bool
-ThreadPlanCallOnFunctionExit::ValidatePlan(Stream *error)
-{
- // We'll say we're always good since I don't know what would make this
- // invalid.
- return true;
-}
-
-bool
-ThreadPlanCallOnFunctionExit::ShouldStop(Event *event_ptr)
-{
- // If this is where we find out that an internal stop came in, then:
- // Check if the step-out plan completed. If it did, then we want to
- // run the callback here (our reason for living...)
- if (m_step_out_threadplan_sp &&
- m_step_out_threadplan_sp->IsPlanComplete())
- {
- m_callback();
-
- // We no longer need the pointer to the step-out thread plan.
- m_step_out_threadplan_sp.reset();
-
- // Indicate that this plan is done and can be discarded.
- SetPlanComplete();
-
- // We're done now, but we want to return false so that we
- // don't cause the thread to really stop.
- }
-
- return false;
-}
-
-bool
-ThreadPlanCallOnFunctionExit::WillStop()
-{
- // The code looks like the return value is ignored via ThreadList::
- // ShouldStop().
- // This is called when we really are going to stop. We don't care
- // and don't need to do anything here.
- return false;
-}
-
-bool
-ThreadPlanCallOnFunctionExit::DoPlanExplainsStop (Event *event_ptr)
-{
- // We don't ever explain a stop. The only stop that is relevant
- // to us directly is the step_out plan we added to do the heavy lifting
- // of getting us past the current method.
- return false;
-}
-
-lldb::StateType
-ThreadPlanCallOnFunctionExit::GetPlanRunState()
-{
- // This value doesn't matter - we'll never be the top thread plan, so
- // nobody will ask us this question.
- return eStateRunning;
-}