MachThreadContext_x86_64.h [plain text]
#ifndef liblldb_MachThreadContext_x86_64_h_
#define liblldb_MachThreadContext_x86_64_h_
#if defined (__i386__) || defined (__x86_64__)
#include "MachThreadContext.h"
#include "RegisterContextMach_x86_64.h"
class ThreadMacOSX;
class MachThreadContext_x86_64 : public MachThreadContext
{
public:
static MachThreadContext*
Create(const lldb_private::ArchSpec &arch_spec, ThreadMacOSX &thread);
static void
Initialize();
void
InitializeInstance();
MachThreadContext_x86_64 (ThreadMacOSX &thread);
virtual
~MachThreadContext_x86_64();
virtual lldb::RegisterContextSP
CreateRegisterContext (lldb_private::StackFrame *frame) const;
virtual void
ThreadWillResume ();
virtual bool
ShouldStop ();
virtual void
RefreshStateAfterStop ();
virtual bool
NotifyException (MachException::Data& exc);
virtual size_t
GetStackFrameData (lldb_private::StackFrame *first_frame, std::vector<std::pair<lldb::addr_t, lldb::addr_t> >& fp_pc_pairs);
protected:
uint32_t m_flags_reg;
private:
DISALLOW_COPY_AND_ASSIGN (MachThreadContext_x86_64);
};
#endif // defined (__i386__) || defined (__x86_64__)
#endif // #ifndef liblldb_MachThreadContext_x86_64_h_