LLDB mainline
NativeRegisterContextDBReg_x86.h
Go to the documentation of this file.
1//===-- NativeRegisterContextDBReg_x86.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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef lldb_NativeRegisterContextDBReg_x86_h
10#define lldb_NativeRegisterContextDBReg_x86_h
11
13
14namespace lldb_private {
15
17 : public virtual NativeRegisterContextRegisterInfo {
18public:
19 // NB: This constructor is here only because gcc<=6.5 requires a virtual base
20 // class initializer on abstract class (even though it is never used). It can
21 // be deleted once we move to gcc>=7.0.
23 : NativeRegisterContextRegisterInfo(thread, nullptr) {}
24
25 Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override;
26
27 Status GetWatchpointHitIndex(uint32_t &wp_index,
28 lldb::addr_t trap_addr) override;
29
30 Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override;
31
32 bool ClearHardwareWatchpoint(uint32_t wp_index) override;
33
34 Status ClearWatchpointHit(uint32_t wp_index) override;
35
37
39 uint32_t watch_flags,
40 uint32_t wp_index);
41
42 uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size,
43 uint32_t watch_flags) override;
44
45 lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;
46
47 uint32_t NumSupportedHardwareWatchpoints() override;
48
49 virtual const RegisterInfo *GetDR(int num) const;
50};
51
52} // namespace lldb_private
53
54#endif // #ifndef lldb_NativeRegisterContextDBReg_x86_h
Status SetHardwareWatchpointWithIndex(lldb::addr_t addr, size_t size, uint32_t watch_flags, uint32_t wp_index)
Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override
lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override
Status GetWatchpointHitIndex(uint32_t &wp_index, lldb::addr_t trap_addr) override
uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size, uint32_t watch_flags) override
virtual const RegisterInfo * GetDR(int num) const
Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override
An error handling class.
Definition: Status.h:44
A class that represents a running process on the host machine.
uint64_t addr_t
Definition: lldb-types.h:80
Every register is described in detail including its name, alternate name (optional),...