LLVM 20.0.0git
Public Member Functions | Protected Types | Protected Attributes | List of all members
llvm::DWARFContext::DWARFContextState Class Referenceabstract

DWARFContextState This structure contains all member variables for DWARFContext that need to be protected in multi-threaded environments. More...

#include "llvm/DebugInfo/DWARF/DWARFContext.h"

Public Member Functions

 DWARFContextState (DWARFContext &DC)
 
virtual ~DWARFContextState ()=default
 
virtual DWARFUnitVectorgetNormalUnits ()=0
 
virtual DWARFUnitVectorgetDWOUnits (bool Lazy=false)=0
 
virtual const DWARFDebugAbbrevgetDebugAbbrevDWO ()=0
 
virtual const DWARFUnitIndexgetCUIndex ()=0
 
virtual const DWARFUnitIndexgetTUIndex ()=0
 
virtual DWARFGdbIndexgetGdbIndex ()=0
 
virtual const DWARFDebugAbbrevgetDebugAbbrev ()=0
 
virtual const DWARFDebugLocgetDebugLoc ()=0
 
virtual const DWARFDebugArangesgetDebugAranges ()=0
 
virtual Expected< const DWARFDebugLine::LineTable * > getLineTableForUnit (DWARFUnit *U, function_ref< void(Error)> RecoverableErrHandler)=0
 
virtual void clearLineTableForUnit (DWARFUnit *U)=0
 
virtual Expected< const DWARFDebugFrame * > getDebugFrame ()=0
 
virtual Expected< const DWARFDebugFrame * > getEHFrame ()=0
 
virtual const DWARFDebugMacrogetDebugMacinfo ()=0
 
virtual const DWARFDebugMacrogetDebugMacinfoDWO ()=0
 
virtual const DWARFDebugMacrogetDebugMacro ()=0
 
virtual const DWARFDebugMacrogetDebugMacroDWO ()=0
 
virtual const DWARFDebugNamesgetDebugNames ()=0
 
virtual const AppleAcceleratorTablegetAppleNames ()=0
 
virtual const AppleAcceleratorTablegetAppleTypes ()=0
 
virtual const AppleAcceleratorTablegetAppleNamespaces ()=0
 
virtual const AppleAcceleratorTablegetAppleObjC ()=0
 
virtual std::shared_ptr< DWARFContextgetDWOContext (StringRef AbsolutePath)=0
 
virtual const DenseMap< uint64_t, DWARFTypeUnit * > & getTypeUnitMap (bool IsDWO)=0
 
virtual bool isThreadSafe () const =0
 
std::unique_ptr< DWARFDebugMacroparseMacroOrMacinfo (MacroSecType SectionType)
 Parse a macro[.dwo] or macinfo[.dwo] section.
 

Protected Types

enum  MacroSecType { MacinfoSection , MacinfoDwoSection , MacroSection , MacroDwoSection }
 Helper enum to distinguish between macro[.dwo] and macinfo[.dwo] section. More...
 

Protected Attributes

DWARFContextD
 

Detailed Description

DWARFContextState This structure contains all member variables for DWARFContext that need to be protected in multi-threaded environments.

Threading support can be enabled by setting the ThreadSafe to true when constructing a DWARFContext to allow DWARRContext to be able to be used in a multi-threaded environment, or not enabled to allow for maximum performance in single threaded environments.

Definition at line 57 of file DWARFContext.h.

Member Enumeration Documentation

◆ MacroSecType

Helper enum to distinguish between macro[.dwo] and macinfo[.dwo] section.

Enumerator
MacinfoSection 
MacinfoDwoSection 
MacroSection 
MacroDwoSection 

Definition at line 61 of file DWARFContext.h.

Constructor & Destructor Documentation

◆ DWARFContextState()

llvm::DWARFContext::DWARFContextState::DWARFContextState ( DWARFContext DC)
inline

Definition at line 70 of file DWARFContext.h.

◆ ~DWARFContextState()

virtual llvm::DWARFContext::DWARFContextState::~DWARFContextState ( )
virtualdefault

Member Function Documentation

◆ clearLineTableForUnit()

virtual void llvm::DWARFContext::DWARFContextState::clearLineTableForUnit ( DWARFUnit U)
pure virtual

◆ getAppleNames()

virtual const AppleAcceleratorTable & llvm::DWARFContext::DWARFContextState::getAppleNames ( )
pure virtual

◆ getAppleNamespaces()

virtual const AppleAcceleratorTable & llvm::DWARFContext::DWARFContextState::getAppleNamespaces ( )
pure virtual

◆ getAppleObjC()

virtual const AppleAcceleratorTable & llvm::DWARFContext::DWARFContextState::getAppleObjC ( )
pure virtual

◆ getAppleTypes()

virtual const AppleAcceleratorTable & llvm::DWARFContext::DWARFContextState::getAppleTypes ( )
pure virtual

◆ getCUIndex()

virtual const DWARFUnitIndex & llvm::DWARFContext::DWARFContextState::getCUIndex ( )
pure virtual

◆ getDebugAbbrev()

virtual const DWARFDebugAbbrev * llvm::DWARFContext::DWARFContextState::getDebugAbbrev ( )
pure virtual

◆ getDebugAbbrevDWO()

virtual const DWARFDebugAbbrev * llvm::DWARFContext::DWARFContextState::getDebugAbbrevDWO ( )
pure virtual

◆ getDebugAranges()

virtual const DWARFDebugAranges * llvm::DWARFContext::DWARFContextState::getDebugAranges ( )
pure virtual

◆ getDebugFrame()

virtual Expected< const DWARFDebugFrame * > llvm::DWARFContext::DWARFContextState::getDebugFrame ( )
pure virtual

◆ getDebugLoc()

virtual const DWARFDebugLoc * llvm::DWARFContext::DWARFContextState::getDebugLoc ( )
pure virtual

◆ getDebugMacinfo()

virtual const DWARFDebugMacro * llvm::DWARFContext::DWARFContextState::getDebugMacinfo ( )
pure virtual

◆ getDebugMacinfoDWO()

virtual const DWARFDebugMacro * llvm::DWARFContext::DWARFContextState::getDebugMacinfoDWO ( )
pure virtual

◆ getDebugMacro()

virtual const DWARFDebugMacro * llvm::DWARFContext::DWARFContextState::getDebugMacro ( )
pure virtual

◆ getDebugMacroDWO()

virtual const DWARFDebugMacro * llvm::DWARFContext::DWARFContextState::getDebugMacroDWO ( )
pure virtual

◆ getDebugNames()

virtual const DWARFDebugNames & llvm::DWARFContext::DWARFContextState::getDebugNames ( )
pure virtual

◆ getDWOContext()

virtual std::shared_ptr< DWARFContext > llvm::DWARFContext::DWARFContextState::getDWOContext ( StringRef  AbsolutePath)
pure virtual

◆ getDWOUnits()

virtual DWARFUnitVector & llvm::DWARFContext::DWARFContextState::getDWOUnits ( bool  Lazy = false)
pure virtual

◆ getEHFrame()

virtual Expected< const DWARFDebugFrame * > llvm::DWARFContext::DWARFContextState::getEHFrame ( )
pure virtual

◆ getGdbIndex()

virtual DWARFGdbIndex & llvm::DWARFContext::DWARFContextState::getGdbIndex ( )
pure virtual

◆ getLineTableForUnit()

virtual Expected< const DWARFDebugLine::LineTable * > llvm::DWARFContext::DWARFContextState::getLineTableForUnit ( DWARFUnit U,
function_ref< void(Error)>  RecoverableErrHandler 
)
pure virtual

◆ getNormalUnits()

virtual DWARFUnitVector & llvm::DWARFContext::DWARFContextState::getNormalUnits ( )
pure virtual

◆ getTUIndex()

virtual const DWARFUnitIndex & llvm::DWARFContext::DWARFContextState::getTUIndex ( )
pure virtual

◆ getTypeUnitMap()

virtual const DenseMap< uint64_t, DWARFTypeUnit * > & llvm::DWARFContext::DWARFContextState::getTypeUnitMap ( bool  IsDWO)
pure virtual

◆ isThreadSafe()

virtual bool llvm::DWARFContext::DWARFContextState::isThreadSafe ( ) const
pure virtual

◆ parseMacroOrMacinfo()

std::unique_ptr< DWARFDebugMacro > DWARFContext::DWARFContextState::parseMacroOrMacinfo ( MacroSecType  SectionType)

Member Data Documentation

◆ D

DWARFContext& llvm::DWARFContext::DWARFContextState::D
protected

Definition at line 68 of file DWARFContext.h.

Referenced by parseMacroOrMacinfo().


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