|
LLVM 24.0.0git
|
Keeps cloned data for the type DIE. More...
#include "DWARFLinker/Parallel/TypePool.h"
Public Member Functions | |
| DIE & | getFinalDie () const |
| Returns copy of type DIE which should be emitted into resulting file. | |
| bool | hasOnlyDeclaration () const |
| Returns true if type die entry has only declaration die. | |
Static Public Member Functions | |
| static TypeEntryBody * | create (llvm::parallel::PerThreadBumpPtrAllocator &Allocator) |
| Creates type DIE for the specified name. | |
Public Attributes | |
| std::atomic< DIE * > | Die = {nullptr} |
| TypeEntryBody keeps partially cloned DIEs corresponding to this type. | |
| std::atomic< DIE * > | DeclarationDie = {nullptr} |
| bool | DeclarationParentIsDeclaration = true |
| std::atomic< uint64_t > | DiePriority = {std::numeric_limits<uint64_t>::max()} |
| uint64_t | DeclarationDiePriority = std::numeric_limits<uint64_t>::max() |
| std::atomic_flag | Lock = {} |
| std::atomic< uint32_t > | SortKey = {std::numeric_limits<uint32_t>::max()} |
| ArrayList< TypeEntry *, 5 > | Children |
| Children for current type. | |
Protected Member Functions | |
| TypeEntryBody ()=delete | |
| TypeEntryBody (const TypeEntryBody &RHS)=delete | |
| TypeEntryBody (TypeEntryBody &&RHS)=delete | |
| TypeEntryBody & | operator= (const TypeEntryBody &RHS)=delete |
| TypeEntryBody & | operator= (const TypeEntryBody &&RHS)=delete |
| TypeEntryBody (llvm::parallel::PerThreadBumpPtrAllocator &Allocator) | |
Keeps cloned data for the type DIE.
Definition at line 31 of file TypePool.h.
|
protecteddelete |
Referenced by create(), operator=(), operator=(), TypeEntryBody(), and TypeEntryBody().
|
protecteddelete |
References RHS, and TypeEntryBody().
|
protecteddelete |
References RHS, and TypeEntryBody().
|
inlineprotected |
Definition at line 95 of file TypePool.h.
|
inlinestatic |
Creates type DIE for the specified name.
Definition at line 47 of file TypePool.h.
References Allocator, and TypeEntryBody().
Referenced by llvm::dwarf_linker::parallel::TypePool::getOrCreateTypeEntryBody(), and llvm::dwarf_linker::parallel::TypePool::TypePool().
|
inline |
Returns copy of type DIE which should be emitted into resulting file.
Definition at line 34 of file TypePool.h.
References assert(), DeclarationDie, and Die.
Referenced by llvm::dwarf_linker::parallel::OutputSections::applyPatches().
|
inline |
Returns true if type die entry has only declaration die.
Definition at line 43 of file TypePool.h.
References Die.
|
protecteddelete |
References RHS, and TypeEntryBody().
|
protecteddelete |
References RHS, and TypeEntryBody().
| std::atomic<DIE *> llvm::dwarf_linker::parallel::TypeEntryBody::DeclarationDie = {nullptr} |
Definition at line 63 of file TypePool.h.
Referenced by getFinalDie().
| uint64_t llvm::dwarf_linker::parallel::TypeEntryBody::DeclarationDiePriority = std::numeric_limits<uint64_t>::max() |
Definition at line 74 of file TypePool.h.
| bool llvm::dwarf_linker::parallel::TypeEntryBody::DeclarationParentIsDeclaration = true |
Definition at line 66 of file TypePool.h.
| std::atomic<DIE *> llvm::dwarf_linker::parallel::TypeEntryBody::Die = {nullptr} |
TypeEntryBody keeps partially cloned DIEs corresponding to this type.
The two kinds of DIE can be kept: declaration and definition. If definition DIE was met while parsing input DWARF then this DIE would be used as a final DIE for this type. If definition DIE is not met then declaration DIE would be used as a final DIE.
Definition at line 60 of file TypePool.h.
Referenced by getFinalDie(), and hasOnlyDeclaration().
| std::atomic<uint64_t> llvm::dwarf_linker::parallel::TypeEntryBody::DiePriority = {std::numeric_limits<uint64_t>::max()} |
Definition at line 71 of file TypePool.h.
| std::atomic_flag llvm::dwarf_linker::parallel::TypeEntryBody::Lock = {} |
Definition at line 77 of file TypePool.h.
| std::atomic<uint32_t> llvm::dwarf_linker::parallel::TypeEntryBody::SortKey = {std::numeric_limits<uint32_t>::max()} |
Definition at line 83 of file TypePool.h.