diff options
| author | Adrian McCarthy <amccarth@google.com> | 2016-11-23 16:26:37 +0000 |
|---|---|---|
| committer | Adrian McCarthy <amccarth@google.com> | 2016-11-23 16:26:37 +0000 |
| commit | 4ad5def9b0dbd576d133d038181a56d19589ed12 (patch) | |
| tree | 1f41c4d8cf38871c92cb5de55d473e48943cd393 /lldb/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h | |
| parent | 5abf14ba5194059184e3a312369d43fd8006d31e (diff) | |
| download | bcm5719-llvm-4ad5def9b0dbd576d133d038181a56d19589ed12.tar.gz bcm5719-llvm-4ad5def9b0dbd576d133d038181a56d19589ed12.zip | |
Refactor LLDB's Windows process plugin (NFC)
The Windows process plugin was broken up into multiple pieces a while back in
order to share code between debugging live processes and minidumps
(postmortem) debugging. The minidump portion was replaced by a cross-platform
solution. This left the plugin split into a formerly "common" base classes and
the derived classes for live debugging. This extra layer made the code harder
to understand and work with.
This patch simplifies these class hierarchies by rolling the live debugging
concrete classes up to the base classes. Last week I posted my intent to make
this change to lldb-dev, and I didn't hear any objections.
This involved moving code and changing references to classes like
ProcessWindowsLive to ProcessWindows. It still builds for both 32- and 64-bit,
and the tests still pass on 32-bit. (Tests on 64-bit weren't passing before
this refactor for unrelated reasons.)
llvm-svn: 287770
Diffstat (limited to 'lldb/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h')
| -rw-r--r-- | lldb/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/lldb/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h b/lldb/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h deleted file mode 100644 index 47e09247a63..00000000000 --- a/lldb/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h +++ /dev/null @@ -1,50 +0,0 @@ -//===-- TargetThreadWindowsLive.h -------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_Plugins_Process_Windows_TargetThreadWindowsLive_H_ -#define liblldb_Plugins_Process_Windows_TargetThreadWindowsLive_H_ - -#include "lldb/Host/HostThread.h" -#include "lldb/Target/Thread.h" -#include "lldb/lldb-forward.h" - -#include "Plugins/Process/Windows/Common/TargetThreadWindows.h" - -namespace lldb_private { -class ProcessWindows; -class HostThread; -class StackFrame; - -class TargetThreadWindowsLive : public lldb_private::TargetThreadWindows { -public: - TargetThreadWindowsLive(ProcessWindows &process, const HostThread &thread); - virtual ~TargetThreadWindowsLive(); - - // lldb_private::Thread overrides - void RefreshStateAfterStop() override; - void WillResume(lldb::StateType resume_state) override; - void DidStop() override; - lldb::RegisterContextSP GetRegisterContext() override; - lldb::RegisterContextSP - CreateRegisterContextForFrame(StackFrame *frame) override; - bool CalculateStopInfo() override; - Unwind *GetUnwinder() override; - - bool DoResume(); - - HostThread GetHostThread() const { return m_host_thread; } - -private: - lldb::RegisterContextSP CreateRegisterContextForFrameIndex(uint32_t idx); - - HostThread m_host_thread; -}; -} - -#endif |

