diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-04-18 05:02:31 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-04-18 05:02:31 +0000 |
commit | f4387d9afb9100e181b96b3bca879b940715033d (patch) | |
tree | 3ac7d2da8538ba175b16b7159e79fe8808d1a388 /include/llvm/MC/MCContext.h | |
parent | 8aa0f9042ddda5f4f25e30acaf7e4c44ee65a632 (diff) | |
download | external_llvm-f4387d9afb9100e181b96b3bca879b940715033d.zip external_llvm-f4387d9afb9100e181b96b3bca879b940715033d.tar.gz external_llvm-f4387d9afb9100e181b96b3bca879b940715033d.tar.bz2 |
Make the StringMaps attached to MCContext use the MCContext's allocator;
reduces the number of calls to malloc().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129687 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC/MCContext.h')
-rw-r--r-- | include/llvm/MC/MCContext.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/include/llvm/MC/MCContext.h b/include/llvm/MC/MCContext.h index f627976..070089e 100644 --- a/include/llvm/MC/MCContext.h +++ b/include/llvm/MC/MCContext.h @@ -45,12 +45,18 @@ namespace llvm { const TargetAsmInfo *TAI; + /// Allocator - Allocator object used for creating machine code objects. + /// + /// We use a bump pointer allocator to avoid the need to track all allocated + /// objects. + BumpPtrAllocator Allocator; + /// Symbols - Bindings of names to symbols. - StringMap<MCSymbol*> Symbols; + StringMap<MCSymbol*, BumpPtrAllocator&> Symbols; /// UsedNames - Keeps tracks of names that were used both for used declared /// and artificial symbols. - StringMap<bool> UsedNames; + StringMap<bool, BumpPtrAllocator&> UsedNames; /// NextUniqueID - The next ID to dole out to an unnamed assembler temporary /// symbol. @@ -96,12 +102,6 @@ namespace llvm { /// the elements were added. std::vector<const MCSection *> MCLineSectionOrder; - /// Allocator - Allocator object used for creating machine code objects. - /// - /// We use a bump pointer allocator to avoid the need to track all allocated - /// objects. - BumpPtrAllocator Allocator; - void *MachOUniquingMap, *ELFUniquingMap, *COFFUniquingMap; MCSymbol *CreateSymbol(StringRef Name); |