LLDB mainline
lldb_private::RISCVSingleStepBreakpointLocationsPredictor Class Reference

#include <EmulateInstructionRISCV.h>

Inheritance diagram for lldb_private::RISCVSingleStepBreakpointLocationsPredictor:
[legend]

Public Member Functions

 RISCVSingleStepBreakpointLocationsPredictor (std::unique_ptr< EmulateInstruction > emulator)
BreakpointLocations GetBreakpointLocations (Status &status) override
llvm::Expected< unsigned > GetBreakpointSize (lldb::addr_t bp_addr) override
Public Member Functions inherited from lldb_private::SingleStepBreakpointLocationsPredictor
 SingleStepBreakpointLocationsPredictor (std::unique_ptr< EmulateInstruction > emulator_up)
virtual ~SingleStepBreakpointLocationsPredictor ()=default

Private Member Functions

BreakpointLocations HandleAtomicSequence (lldb::addr_t pc, Status &error)

Static Private Member Functions

static bool FoundLoadReserve (const RISCVInst &inst)
static bool FoundStoreConditional (const RISCVInst &inst)

Static Private Attributes

static constexpr size_t s_max_atomic_sequence_length = 64

Additional Inherited Members

Protected Member Functions inherited from lldb_private::SingleStepBreakpointLocationsPredictor
lldb::addr_t GetNextInstructionAddress (Status &error)
lldb::addr_t GetBreakpointLocationAddress (lldb::addr_t entry_pc, Status &error)
Protected Attributes inherited from lldb_private::SingleStepBreakpointLocationsPredictor
std::unique_ptr< EmulateInstructionm_emulator_up
bool m_emulation_result = false

Detailed Description

Definition at line 23 of file EmulateInstructionRISCV.h.

Constructor & Destructor Documentation

◆ RISCVSingleStepBreakpointLocationsPredictor()

lldb_private::RISCVSingleStepBreakpointLocationsPredictor::RISCVSingleStepBreakpointLocationsPredictor ( std::unique_ptr< EmulateInstruction > emulator)
inline

Member Function Documentation

◆ FoundLoadReserve()

bool lldb_private::RISCVSingleStepBreakpointLocationsPredictor::FoundLoadReserve ( const RISCVInst & inst)
inlinestaticprivate

Definition at line 35 of file EmulateInstructionRISCV.h.

Referenced by GetBreakpointLocations().

◆ FoundStoreConditional()

bool lldb_private::RISCVSingleStepBreakpointLocationsPredictor::FoundStoreConditional ( const RISCVInst & inst)
inlinestaticprivate

Definition at line 40 of file EmulateInstructionRISCV.h.

Referenced by GetBreakpointLocations(), and HandleAtomicSequence().

◆ GetBreakpointLocations()

◆ GetBreakpointSize()

llvm::Expected< unsigned > lldb_private::RISCVSingleStepBreakpointLocationsPredictor::GetBreakpointSize ( lldb::addr_t bp_addr)
overridevirtual

◆ HandleAtomicSequence()

Member Data Documentation

◆ s_max_atomic_sequence_length

size_t lldb_private::RISCVSingleStepBreakpointLocationsPredictor::s_max_atomic_sequence_length = 64
staticconstexprprivate

Definition at line 47 of file EmulateInstructionRISCV.h.

Referenced by HandleAtomicSequence().


The documentation for this class was generated from the following files: