[ProcessWindows] Implement a RegisterContextWindows for x86.

This implements the skeleton of a RegisterContext for Windows.
In particular, this implements support only for x86 general purpose
registers.

After this patch, LLDB on Windows can perform basic debugging
operations in a single-threaded inferior process (breakpoint,
register inspection, frame select, unwinding, etc).

Differential Revision: http://reviews.llvm.org/D6322
Reviewed by: Greg Clayton

llvm-svn: 222474
diff --git a/lldb/source/Plugins/Process/Windows/TargetThreadWindows.h b/lldb/source/Plugins/Process/Windows/TargetThreadWindows.h
index 3db46f8..8c46b3c 100644
--- a/lldb/source/Plugins/Process/Windows/TargetThreadWindows.h
+++ b/lldb/source/Plugins/Process/Windows/TargetThreadWindows.h
@@ -28,16 +28,26 @@
     TargetThreadWindows(ProcessWindows &process, const HostThread &thread);
     virtual ~TargetThreadWindows();
 
-    virtual void RefreshStateAfterStop() override;
-    virtual void WillResume(lldb::StateType resume_state) override;
-    virtual void DidStop() override;
-    virtual lldb::RegisterContextSP GetRegisterContext() override;
-    virtual lldb::RegisterContextSP CreateRegisterContextForFrame(StackFrame *frame) override;
-    virtual bool CalculateStopInfo() override;
+    // 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);
+
     lldb::StackFrameUP m_stack_frame;
 
     HostThread m_host_thread;