brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 99901ce Raw
48 lines · c
1//===-- RegisterContextWindows_x64.h ----------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef liblldb_RegisterContextWindows_x64_H_10#define liblldb_RegisterContextWindows_x64_H_11 12#if defined(__x86_64__) || defined(_M_X64)13 14#include "RegisterContextWindows.h"15#include "lldb/lldb-forward.h"16 17namespace lldb_private {18 19class Thread;20 21class RegisterContextWindows_x64 : public RegisterContextWindows {22public:23  // Constructors and Destructors24  RegisterContextWindows_x64(Thread &thread, uint32_t concrete_frame_idx);25 26  virtual ~RegisterContextWindows_x64();27 28  // Subclasses must override these functions29  size_t GetRegisterCount() override;30 31  const RegisterInfo *GetRegisterInfoAtIndex(size_t reg) override;32 33  size_t GetRegisterSetCount() override;34 35  const RegisterSet *GetRegisterSet(size_t reg_set) override;36 37  bool ReadRegister(const RegisterInfo *reg_info,38                    RegisterValue &reg_value) override;39 40  bool WriteRegister(const RegisterInfo *reg_info,41                     const RegisterValue &reg_value) override;42};43}44 45#endif // defined(__x86_64__) || defined(_M_X64)46 47#endif // #ifndef liblldb_RegisterContextWindows_x64_H_48