LLVM 22.0.0git
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
LLVM_ABI 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 58 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 62 of file DWARFContext.h.

Constructor & Destructor Documentation

◆ DWARFContextState()

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

Definition at line 71 of file DWARFContext.h.

References D, and llvm::DWARFContext::DWARFContext().

◆ ~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

References LLVM_ABI, and parseMacroOrMacinfo().

◆ parseMacroOrMacinfo()

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

Parse a macro[.dwo] or macinfo[.dwo] section.

Definition at line 206 of file DWARFContext.cpp.

References D, llvm::Data, MacinfoDwoSection, MacinfoSection, llvm::Macro, MacroDwoSection, and MacroSection.

Referenced by isThreadSafe().

Member Data Documentation

◆ D

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

Definition at line 69 of file DWARFContext.h.

Referenced by DWARFContextState(), and parseMacroOrMacinfo().


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