LLDB mainline
ABIX86_64 Class Reference

#include <ABIX86_64.h>

Inheritance diagram for ABIX86_64:
[legend]

Protected Member Functions

std::string GetMCName (std::string name) override
 For the given (capitalized) lldb register name, return the name of this register in the MCRegisterInfo struct.
bool Is64Bit () const override
Protected Member Functions inherited from ABIX86
void AugmentRegisterInfo (std::vector< lldb_private::DynamicRegisterInfo::Register > &regs) override
Protected Member Functions inherited from lldb_private::MCBasedABI
virtual std::pair< uint32_t, uint32_t > GetEHAndDWARFNums (llvm::StringRef reg)
 Return eh_frame and dwarf numbers for the given register.
virtual uint32_t GetGenericNum (llvm::StringRef reg)=0
 Return the generic number of the given register.
 ABI (lldb::ProcessSP process_sp, std::unique_ptr< llvm::MCRegisterInfo > info_up)
Protected Member Functions inherited from lldb_private::ABI
virtual lldb::ValueObjectSP GetReturnValueObjectImpl (Thread &thread, CompilerType &ast_type) const =0
virtual lldb::ValueObjectSP GetReturnValueObjectImpl (Thread &thread, llvm::Type &ir_type) const
lldb::ProcessSP GetProcessSP () const
 Request to get a Process shared pointer.
 ABI (lldb::ProcessSP process_sp, std::unique_ptr< llvm::MCRegisterInfo > info_up)

Additional Inherited Members

Public Member Functions inherited from lldb_private::MCBasedABI
void AugmentRegisterInfo (std::vector< DynamicRegisterInfo::Register > &regs) override
Public Member Functions inherited from lldb_private::ABI
 ~ABI () override
virtual size_t GetRedZoneSize () const =0
virtual bool PrepareTrivialCall (lldb_private::Thread &thread, lldb::addr_t sp, lldb::addr_t functionAddress, lldb::addr_t returnAddress, llvm::ArrayRef< lldb::addr_t > args) const =0
virtual bool PrepareTrivialCall (lldb_private::Thread &thread, lldb::addr_t sp, lldb::addr_t functionAddress, lldb::addr_t returnAddress, llvm::Type &prototype, llvm::ArrayRef< CallArgument > args) const
virtual bool GetArgumentValues (Thread &thread, ValueList &values) const =0
lldb::ValueObjectSP GetReturnValueObject (Thread &thread, CompilerType &type, bool persistent=true) const
lldb::ValueObjectSP GetReturnValueObject (Thread &thread, llvm::Type &type, bool persistent=true) const
virtual Status SetReturnValueObject (lldb::StackFrameSP &frame_sp, lldb::ValueObjectSP &new_value)=0
virtual lldb::UnwindPlanSP CreateFunctionEntryUnwindPlan ()=0
virtual lldb::UnwindPlanSP CreateDefaultUnwindPlan ()=0
virtual bool RegisterIsVolatile (const RegisterInfo *reg_info)=0
virtual bool GetFallbackRegisterLocation (const RegisterInfo *reg_info, UnwindPlan::Row::AbstractRegisterLocation &unwind_regloc)
virtual bool CallFrameAddressIsValid (lldb::addr_t cfa)=0
virtual bool CodeAddressIsValid (lldb::addr_t pc)=0
virtual lldb::addr_t FixAnyAddress (lldb::addr_t pc)
 Use this method when you do not know, or do not care what kind of address you are fixing.
llvm::MCRegisterInfo & GetMCRegisterInfo ()
virtual bool GetPointerReturnRegister (const char *&name)
virtual uint64_t GetStackFrameSize ()
virtual std::optional< MemoryPermissionsGetMemoryPermissions (lldb_private::RegisterContext &reg_ctx, unsigned protection_key, uint32_t original_permissions)
 Get the effective memory permissions that result when the permissions referred to by a protection key are applied to the original permissions.
virtual lldb::addr_t FixCodeAddress (lldb::addr_t pc)
 Some targets might use bits in a code address to indicate a mode switch.
virtual lldb::addr_t FixDataAddress (lldb::addr_t pc)
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
virtual llvm::StringRef GetPluginName ()=0
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete
Static Public Member Functions inherited from ABIX86
static void Initialize ()
static void Terminate ()
Static Public Member Functions inherited from lldb_private::MCBasedABI
static void MapRegisterName (std::string &reg, llvm::StringRef from_prefix, llvm::StringRef to_prefix)
 If the register name is of the form "<from_prefix>[<number>]" then change the name to "<to_prefix>[<number>]".
Static Public Member Functions inherited from lldb_private::ABI
static lldb::ABISP FindPlugin (lldb::ProcessSP process_sp, const ArchSpec &arch)
Static Protected Member Functions inherited from lldb_private::ABI
static std::unique_ptr< llvm::MCRegisterInfo > MakeMCRegisterInfo (const ArchSpec &arch)
 Utility function to construct a MCRegisterInfo using the ArchSpec triple.
Protected Attributes inherited from lldb_private::ABI
lldb::ProcessWP m_process_wp
std::unique_ptr< llvm::MCRegisterInfo > m_mc_register_info_up

Detailed Description

Definition at line 14 of file ABIX86_64.h.

Member Function Documentation

◆ GetMCName()

std::string ABIX86_64::GetMCName ( std::string reg)
inlineoverrideprotectedvirtual

For the given (capitalized) lldb register name, return the name of this register in the MCRegisterInfo struct.

Reimplemented from lldb_private::MCBasedABI.

Definition at line 16 of file ABIX86_64.h.

References lldb_private::MCBasedABI::MapRegisterName().

◆ Is64Bit()

bool ABIX86_64::Is64Bit ( ) const
inlineoverrideprotectedvirtual

Implements ABIX86.

Definition at line 21 of file ABIX86_64.h.


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