Coverage Report

Created: 2017-09-21 03:39

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/tools/lld/ELF/Memory.h
Line
Count
Source
1
//===- Memory.h -------------------------------------------------*- C++ -*-===//
2
//
3
//                             The LLVM Linker
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file defines arena allocators.
11
//
12
// Almost all large objects, such as files, sections or symbols, are
13
// used for the entire lifetime of the linker once they are created.
14
// This usage characteristic makes arena allocator an attractive choice
15
// where the entire linker is one arena. With an arena, newly created
16
// objects belong to the arena and freed all at once when everything is done.
17
// Arena allocators are efficient and easy to understand.
18
// Most objects are allocated using the arena allocators defined by this file.
19
//
20
// If you edit this file, please edit COFF/Memory.h too.
21
//
22
//===----------------------------------------------------------------------===//
23
24
#ifndef LLD_ELF_MEMORY_H
25
#define LLD_ELF_MEMORY_H
26
27
#include "llvm/Support/Allocator.h"
28
#include "llvm/Support/StringSaver.h"
29
#include <vector>
30
31
namespace lld {
32
namespace elf {
33
34
// Use this arena if your object doesn't have a destructor.
35
extern llvm::BumpPtrAllocator BAlloc;
36
extern llvm::StringSaver Saver;
37
38
// These two classes are hack to keep track of all
39
// SpecificBumpPtrAllocator instances.
40
struct SpecificAllocBase {
41
57.2k
  SpecificAllocBase() { Instances.push_back(this); }
42
57.2k
  virtual ~SpecificAllocBase() = default;
43
  virtual void reset() = 0;
44
  static std::vector<SpecificAllocBase *> Instances;
45
};
46
47
template <class T> struct SpecificAlloc : public SpecificAllocBase {
48
57.2k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> > >::reset()
Line
Count
Source
48
1.74k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::Configuration>::reset()
Line
Count
Source
48
1.76k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::LinkerDriver>::reset()
Line
Count
Source
48
1.76k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::LinkerScript>::reset()
Line
Count
Source
48
1.76k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SymbolTable>::reset()
Line
Count
Source
48
1.76k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::BinaryFile>::reset()
Line
Count
Source
48
5
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::LazyObjFile>::reset()
Line
Count
Source
48
11
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::ArchiveFile>::reset()
Line
Count
Source
48
70
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<std::__1::unique_ptr<llvm::TarWriter, std::__1::default_delete<llvm::TarWriter> > >::reset()
Line
Count
Source
48
10
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::GdbSymbol>::reset()
Line
Count
Source
48
2
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::InputSection>::reset()
Line
Count
Source
48
1.62k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::BitcodeFile>::reset()
Line
Count
Source
48
115
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
197
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
97
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
1.37k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
44
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
34
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
17
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
150
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
7
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::EhInputSection>::reset()
Line
Count
Source
48
81
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MergeInputSection>::reset()
Line
Count
Source
48
1.57k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::Undefined>::reset()
Line
Count
Source
48
1.61k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::DefinedRegular>::reset()
Line
Count
Source
48
627
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::OutputSection>::reset()
Line
Count
Source
48
4.77k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SymbolAssignment>::reset()
Line
Count
Source
48
1.46k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::PhdrEntry>::reset()
Line
Count
Source
48
2.89k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::InputSectionDescription>::reset()
Line
Count
Source
48
1.83k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::ThunkSection>::reset()
Line
Count
Source
48
14
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::BssSection>::reset()
Line
Count
Source
48
3.24k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::AssertCommand>::reset()
Line
Count
Source
48
6
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MemoryRegion>::reset()
Line
Count
Source
48
20
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::BytesDataCommand>::reset()
Line
Count
Source
48
5
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::Symbol>::reset()
Line
Count
Source
48
1.54k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MergeSyntheticSection>::reset()
Line
Count
Source
48
1.52k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::GdbIndexSection>::reset()
Line
Count
Source
48
9
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
13
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
92
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
2
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
28
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
2
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
28
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
13
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
92
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::CieRecord>::reset()
Line
Count
Source
48
75
  void reset() override { Alloc.DestroyAll(); }
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Thunks.cpp:lld::elf::SpecificAlloc<lld::elf::(anonymous namespace)::ARMV7PILongThunk>::reset()
Line
Count
Source
48
1
  void reset() override { Alloc.DestroyAll(); }
Thunks.cpp:lld::elf::SpecificAlloc<lld::elf::(anonymous namespace)::ARMV7ABSLongThunk>::reset()
Line
Count
Source
48
2
  void reset() override { Alloc.DestroyAll(); }
Thunks.cpp:lld::elf::SpecificAlloc<lld::elf::(anonymous namespace)::ThumbV7PILongThunk>::reset()
Line
Count
Source
48
4
  void reset() override { Alloc.DestroyAll(); }
Thunks.cpp:lld::elf::SpecificAlloc<lld::elf::(anonymous namespace)::ThumbV7ABSLongThunk>::reset()
Line
Count
Source
48
3
  void reset() override { Alloc.DestroyAll(); }
Thunks.cpp:lld::elf::SpecificAlloc<lld::elf::(anonymous namespace)::MipsThunk>::reset()
Line
Count
Source
48
7
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::StringTableSection>::reset()
Line
Count
Source
48
3.17k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
191
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
573
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
191
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::BuildIdSection>::reset()
Line
Count
Source
48
12
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsRldMapSection>::reset()
Line
Count
Source
48
20
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
106
  void reset() override { Alloc.DestroyAll(); }
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
lld::elf::SpecificAlloc<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
106
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::GnuHashTableSection>::reset()
Line
Count
Source
48
5
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
104
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::MipsGotSection>::reset()
Line
Count
Source
48
137
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::GotSection>::reset()
Line
Count
Source
48
1.45k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::GotPltSection>::reset()
Line
Count
Source
48
1.58k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::IgotPltSection>::reset()
Line
Count
Source
48
1.58k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::PltSection>::reset()
Line
Count
Source
48
3.17k
  void reset() override { Alloc.DestroyAll(); }
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
lld::elf::SpecificAlloc<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >::reset()
Line
Count
Source
48
185
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::ARMExidxSentinelSection>::reset()
Line
Count
Source
48
16
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
95
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
285
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
95
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
54
  void reset() override { Alloc.DestroyAll(); }
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
lld::elf::SpecificAlloc<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
54
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
54
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
1
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >::reset()
Line
Count
Source
48
87
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
1.25k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
3.77k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
1.25k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
617
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
36
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
617
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
615
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
12
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >::reset()
Line
Count
Source
48
1.21k
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
44
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
132
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
44
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
25
  void reset() override { Alloc.DestroyAll(); }
Unexecuted instantiation: lld::elf::SpecificAlloc<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
lld::elf::SpecificAlloc<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
25
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
25
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
3
  void reset() override { Alloc.DestroyAll(); }
lld::elf::SpecificAlloc<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >::reset()
Line
Count
Source
48
43
  void reset() override { Alloc.DestroyAll(); }
49
  llvm::SpecificBumpPtrAllocator<T> Alloc;
50
};
51
52
// Use this arena if your object has a destructor.
53
// Your destructor will be invoked from freeArena().
54
714k
template <typename T, typename... U> T *make(U &&... Args) {
55
714k
  static SpecificAlloc<T> Alloc;
56
714k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
714k
}
std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >* lld::elf::make<std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> > >(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >&&)
Line
Count
Source
54
2.85k
template <typename T, typename... U> T *make(U &&... Args) {
55
2.85k
  static SpecificAlloc<T> Alloc;
56
2.85k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
2.85k
}
lld::elf::Configuration* lld::elf::make<lld::elf::Configuration>()
Line
Count
Source
54
1.76k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.76k
  static SpecificAlloc<T> Alloc;
56
1.76k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.76k
}
lld::elf::LinkerDriver* lld::elf::make<lld::elf::LinkerDriver>()
Line
Count
Source
54
1.76k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.76k
  static SpecificAlloc<T> Alloc;
56
1.76k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.76k
}
lld::elf::LinkerScript* lld::elf::make<lld::elf::LinkerScript>()
Line
Count
Source
54
1.76k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.76k
  static SpecificAlloc<T> Alloc;
56
1.76k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.76k
}
lld::elf::SymbolTable* lld::elf::make<lld::elf::SymbolTable>()
Line
Count
Source
54
1.76k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.76k
  static SpecificAlloc<T> Alloc;
56
1.76k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.76k
}
lld::elf::BinaryFile* lld::elf::make<lld::elf::BinaryFile, llvm::MemoryBufferRef&>(llvm::MemoryBufferRef&&&)
Line
Count
Source
54
5
template <typename T, typename... U> T *make(U &&... Args) {
55
5
  static SpecificAlloc<T> Alloc;
56
5
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
5
}
lld::elf::LazyObjFile* lld::elf::make<lld::elf::LazyObjFile, llvm::MemoryBufferRef const&, llvm::StringRef&, unsigned long long const&>(llvm::MemoryBufferRef const&&&, llvm::StringRef&&&, unsigned long long const&&&)
Line
Count
Source
54
5
template <typename T, typename... U> T *make(U &&... Args) {
55
5
  static SpecificAlloc<T> Alloc;
56
5
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
5
}
lld::elf::ArchiveFile* lld::elf::make<lld::elf::ArchiveFile, std::__1::unique_ptr<llvm::object::Archive, std::__1::default_delete<llvm::object::Archive> > >(std::__1::unique_ptr<llvm::object::Archive, std::__1::default_delete<llvm::object::Archive> >&&)
Line
Count
Source
54
71
template <typename T, typename... U> T *make(U &&... Args) {
55
71
  static SpecificAlloc<T> Alloc;
56
71
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
71
}
lld::elf::LazyObjFile* lld::elf::make<lld::elf::LazyObjFile, llvm::MemoryBufferRef&, char const (&) [1], int>(llvm::MemoryBufferRef&&&, char const (&&&) [1], int&&)
Line
Count
Source
54
14
template <typename T, typename... U> T *make(U &&... Args) {
55
14
  static SpecificAlloc<T> Alloc;
56
14
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
14
}
std::__1::unique_ptr<llvm::TarWriter, std::__1::default_delete<llvm::TarWriter> >* lld::elf::make<std::__1::unique_ptr<llvm::TarWriter, std::__1::default_delete<llvm::TarWriter> >, std::__1::unique_ptr<llvm::TarWriter, std::__1::default_delete<llvm::TarWriter> > >(std::__1::unique_ptr<llvm::TarWriter, std::__1::default_delete<llvm::TarWriter> >&&)
Line
Count
Source
54
10
template <typename T, typename... U> T *make(U &&... Args) {
55
10
  static SpecificAlloc<T> Alloc;
56
10
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
10
}
lld::elf::GdbSymbol* lld::elf::make<lld::elf::GdbSymbol, unsigned int&, unsigned long&>(unsigned int&&&, unsigned long&&&)
Line
Count
Source
54
4
template <typename T, typename... U> T *make(U &&... Args) {
55
4
  static SpecificAlloc<T> Alloc;
56
4
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
4
}
lld::elf::InputSection* lld::elf::make<lld::elf::InputSection, unsigned long long&, unsigned int&, unsigned int&, llvm::ArrayRef<unsigned char>&, llvm::StringRef&>(unsigned long long&&&, unsigned int&&&, unsigned int&&&, llvm::ArrayRef<unsigned char>&&&, llvm::StringRef&&&)
Line
Count
Source
54
1
template <typename T, typename... U> T *make(U &&... Args) {
55
1
  static SpecificAlloc<T> Alloc;
56
1
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1
}
lld::elf::BitcodeFile* lld::elf::make<lld::elf::BitcodeFile, llvm::MemoryBufferRef&, llvm::StringRef&, unsigned long long&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&, unsigned long long&&&)
Line
Count
Source
54
161
template <typename T, typename... U> T *make(U &&... Args) {
55
161
  static SpecificAlloc<T> Alloc;
56
161
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
161
}
lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
225
template <typename T, typename... U> T *make(U &&... Args) {
55
225
  static SpecificAlloc<T> Alloc;
56
225
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
225
}
lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
129
template <typename T, typename... U> T *make(U &&... Args) {
55
129
  static SpecificAlloc<T> Alloc;
56
129
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
129
}
lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
1.64k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.64k
  static SpecificAlloc<T> Alloc;
56
1.64k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.64k
}
lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
51
template <typename T, typename... U> T *make(U &&... Args) {
55
51
  static SpecificAlloc<T> Alloc;
56
51
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
51
}
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
45
template <typename T, typename... U> T *make(U &&... Args) {
55
45
  static SpecificAlloc<T> Alloc;
56
45
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
45
}
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
17
template <typename T, typename... U> T *make(U &&... Args) {
55
17
  static SpecificAlloc<T> Alloc;
56
17
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
17
}
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
155
template <typename T, typename... U> T *make(U &&... Args) {
55
155
  static SpecificAlloc<T> Alloc;
56
155
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
155
}
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >, llvm::MemoryBufferRef&, llvm::StringRef&>(llvm::MemoryBufferRef&&&, llvm::StringRef&&&)
Line
Count
Source
54
7
template <typename T, typename... U> T *make(U &&... Args) {
55
7
  static SpecificAlloc<T> Alloc;
56
7
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
7
}
lld::elf::InputSection* lld::elf::make<lld::elf::InputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
529
template <typename T, typename... U> T *make(U &&... Args) {
55
529
  static SpecificAlloc<T> Alloc;
56
529
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
529
}
lld::elf::EhInputSection* lld::elf::make<lld::elf::EhInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
4
template <typename T, typename... U> T *make(U &&... Args) {
55
4
  static SpecificAlloc<T> Alloc;
56
4
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
4
}
lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
3
template <typename T, typename... U> T *make(U &&... Args) {
55
3
  static SpecificAlloc<T> Alloc;
56
3
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
3
}
lld::elf::Undefined* lld::elf::make<lld::elf::Undefined, lld::elf::StringRefZ&, bool, unsigned char&, unsigned char&>(lld::elf::StringRefZ&&&, bool&&, unsigned char&&&, unsigned char&&&)
Line
Count
Source
54
1.94k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.94k
  static SpecificAlloc<T> Alloc;
56
1.94k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.94k
}
lld::elf::DefinedRegular* lld::elf::make<lld::elf::DefinedRegular, lld::elf::StringRefZ&, bool, unsigned char&, unsigned char&, unsigned long long&, unsigned long long&, lld::elf::InputSectionBase*&>(lld::elf::StringRefZ&&&, bool&&, unsigned char&&&, unsigned char&&&, unsigned long long&&&, unsigned long long&&&, lld::elf::InputSectionBase*&&&)
Line
Count
Source
54
1.30k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.30k
  static SpecificAlloc<T> Alloc;
56
1.30k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.30k
}
lld::elf::InputSection* lld::elf::make<lld::elf::InputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
677
template <typename T, typename... U> T *make(U &&... Args) {
55
677
  static SpecificAlloc<T> Alloc;
56
677
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
677
}
lld::elf::EhInputSection* lld::elf::make<lld::elf::EhInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
1
template <typename T, typename... U> T *make(U &&... Args) {
55
1
  static SpecificAlloc<T> Alloc;
56
1
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1
}
lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
1
template <typename T, typename... U> T *make(U &&... Args) {
55
1
  static SpecificAlloc<T> Alloc;
56
1
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1
}
lld::elf::InputSection* lld::elf::make<lld::elf::InputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
198k
template <typename T, typename... U> T *make(U &&... Args) {
55
198k
  static SpecificAlloc<T> Alloc;
56
198k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
198k
}
lld::elf::EhInputSection* lld::elf::make<lld::elf::EhInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
84
template <typename T, typename... U> T *make(U &&... Args) {
55
84
  static SpecificAlloc<T> Alloc;
56
84
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
84
}
lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
67
template <typename T, typename... U> T *make(U &&... Args) {
55
67
  static SpecificAlloc<T> Alloc;
56
67
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
67
}
lld::elf::InputSection* lld::elf::make<lld::elf::InputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
233
template <typename T, typename... U> T *make(U &&... Args) {
55
233
  static SpecificAlloc<T> Alloc;
56
233
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
233
}
lld::elf::EhInputSection* lld::elf::make<lld::elf::EhInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*&&, llvm::StringRef&&&)
Line
Count
Source
54
3
template <typename T, typename... U> T *make(U &&... Args) {
55
3
  static SpecificAlloc<T> Alloc;
56
3
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
3
}
Unexecuted instantiation: lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*, llvm::StringRef&>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*&&, llvm::StringRef&&&)
InputFiles.cpp:lld::elf::InputSection* lld::elf::make<lld::elf::InputSection, unsigned int, llvm::ELF::$_0, int, llvm::ArrayRef<unsigned char>&, char const (&) [6]>(unsigned int&&, llvm::ELF::$_0&&, int&&, llvm::ArrayRef<unsigned char>&&&, char const (&&&) [6])
Line
Count
Source
54
5
template <typename T, typename... U> T *make(U &&... Args) {
55
5
  static SpecificAlloc<T> Alloc;
56
5
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
5
}
LinkerScript.cpp:lld::elf::OutputSection* lld::elf::make<lld::elf::OutputSection, llvm::StringRef&, llvm::ELF::$_0, int>(llvm::StringRef&&&, llvm::ELF::$_0&&, int&&)
Line
Count
Source
54
222k
template <typename T, typename... U> T *make(U &&... Args) {
55
222k
  static SpecificAlloc<T> Alloc;
56
222k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
222k
}
LinkerScript.cpp:lld::elf::OutputSection* lld::elf::make<lld::elf::OutputSection, char const (&) [1], int, llvm::ELF::$_1>(char const (&&&) [1], int&&, llvm::ELF::$_1&&)
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
LinkerScript.cpp:lld::elf::SymbolAssignment* lld::elf::make<lld::elf::SymbolAssignment, char const (&) [2], lld::elf::LinkerScript::fabricateDefaultCommands()::$_2, char const (&) [1]>(char const (&&&) [2], lld::elf::LinkerScript::fabricateDefaultCommands()::$_2&&, char const (&&&) [1])
Line
Count
Source
54
1.29k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.29k
  static SpecificAlloc<T> Alloc;
56
1.29k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.29k
}
lld::elf::PhdrEntry* lld::elf::make<lld::elf::PhdrEntry, unsigned int const&, unsigned int>(unsigned int const&&&, unsigned int&&)
Line
Count
Source
54
29
template <typename T, typename... U> T *make(U &&... Args) {
55
29
  static SpecificAlloc<T> Alloc;
56
29
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
29
}
lld::elf::InputSectionDescription* lld::elf::make<lld::elf::InputSectionDescription, char const (&) [1]>(char const (&&&) [1])
Line
Count
Source
54
221k
template <typename T, typename... U> T *make(U &&... Args) {
55
221k
  static SpecificAlloc<T> Alloc;
56
221k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
221k
}
lld::elf::ThunkSection* lld::elf::make<lld::elf::ThunkSection, lld::elf::OutputSection*&, unsigned long long&>(lld::elf::OutputSection*&&&, unsigned long long&&&)
Line
Count
Source
54
30
template <typename T, typename... U> T *make(U &&... Args) {
55
30
  static SpecificAlloc<T> Alloc;
56
30
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
30
}
lld::elf::BssSection* lld::elf::make<lld::elf::BssSection, char const*>(char const*&&)
Line
Count
Source
54
29
template <typename T, typename... U> T *make(U &&... Args) {
55
29
  static SpecificAlloc<T> Alloc;
56
29
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
29
}
lld::elf::AssertCommand* lld::elf::make<lld::elf::AssertCommand, std::__1::function<lld::elf::ExprValue ()> >(std::__1::function<lld::elf::ExprValue ()>&&)
Line
Count
Source
54
6
template <typename T, typename... U> T *make(U &&... Args) {
55
6
  static SpecificAlloc<T> Alloc;
56
6
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
6
}
lld::elf::MemoryRegion* lld::elf::make<lld::elf::MemoryRegion>()
Line
Count
Source
54
29
template <typename T, typename... U> T *make(U &&... Args) {
55
29
  static SpecificAlloc<T> Alloc;
56
29
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
29
}
lld::elf::BytesDataCommand* lld::elf::make<lld::elf::BytesDataCommand, std::__1::function<lld::elf::ExprValue ()>, int&>(std::__1::function<lld::elf::ExprValue ()>&&, int&&&)
Line
Count
Source
54
19
template <typename T, typename... U> T *make(U &&... Args) {
55
19
  static SpecificAlloc<T> Alloc;
56
19
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
19
}
lld::elf::InputSectionDescription* lld::elf::make<lld::elf::InputSectionDescription, llvm::StringRef&>(llvm::StringRef&&&)
Line
Count
Source
54
483
template <typename T, typename... U> T *make(U &&... Args) {
55
483
  static SpecificAlloc<T> Alloc;
56
483
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
483
}
lld::elf::SymbolAssignment* lld::elf::make<lld::elf::SymbolAssignment, llvm::StringRef&, std::__1::function<lld::elf::ExprValue ()>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(llvm::StringRef&&&, std::__1::function<lld::elf::ExprValue ()>&&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
54
328
template <typename T, typename... U> T *make(U &&... Args) {
55
328
  static SpecificAlloc<T> Alloc;
56
328
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
328
}
lld::elf::Symbol* lld::elf::make<lld::elf::Symbol>()
Line
Count
Source
54
4.69k
template <typename T, typename... U> T *make(U &&... Args) {
55
4.69k
  static SpecificAlloc<T> Alloc;
56
4.69k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
4.69k
}
lld::elf::BssSection* lld::elf::make<lld::elf::BssSection, char const (&) [7]>(char const (&&&) [7])
Line
Count
Source
54
84
template <typename T, typename... U> T *make(U &&... Args) {
55
84
  static SpecificAlloc<T> Alloc;
56
84
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
84
}
SyntheticSections.cpp:lld::elf::InputSection* lld::elf::make<lld::elf::InputSection, llvm::ELF::$_0, llvm::ELF::$_1, int, llvm::ArrayRef<unsigned char>&, char const (&) [8]>(llvm::ELF::$_0&&, llvm::ELF::$_1&&, int&&, llvm::ArrayRef<unsigned char>&&&, char const (&&&) [8])
Line
Count
Source
54
4
template <typename T, typename... U> T *make(U &&... Args) {
55
4
  static SpecificAlloc<T> Alloc;
56
4
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
4
}
SyntheticSections.cpp:lld::elf::DefinedRegular* lld::elf::make<lld::elf::DefinedRegular, llvm::StringRef&, bool, llvm::ELF::$_2, unsigned char&, unsigned long long&, unsigned long long&, lld::elf::InputSectionBase*&>(llvm::StringRef&&&, bool&&, llvm::ELF::$_2&&, unsigned char&&&, unsigned long long&&&, unsigned long long&&&, lld::elf::InputSectionBase*&&&)
Line
Count
Source
54
162
template <typename T, typename... U> T *make(U &&... Args) {
55
162
  static SpecificAlloc<T> Alloc;
56
162
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
162
}
lld::elf::MergeSyntheticSection* lld::elf::make<lld::elf::MergeSyntheticSection, llvm::StringRef&, unsigned int&, unsigned long long&, unsigned int&>(llvm::StringRef&&&, unsigned int&&&, unsigned long long&&&, unsigned int&&&)
Line
Count
Source
54
1.57k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.57k
  static SpecificAlloc<T> Alloc;
56
1.57k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.57k
}
lld::elf::GdbIndexSection* lld::elf::make<lld::elf::GdbIndexSection, std::__1::vector<lld::elf::GdbIndexChunk, std::__1::allocator<lld::elf::GdbIndexChunk> > >(std::__1::vector<lld::elf::GdbIndexChunk, std::__1::allocator<lld::elf::GdbIndexChunk> >&&)
Line
Count
Source
54
9
template <typename T, typename... U> T *make(U &&... Args) {
55
9
  static SpecificAlloc<T> Alloc;
56
9
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
9
}
lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> >*, char const (&) [9]>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> >*&&, char const (&&&) [9])
Line
Count
Source
54
185
template <typename T, typename... U> T *make(U &&... Args) {
55
185
  static SpecificAlloc<T> Alloc;
56
185
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
185
}
lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> >*, char const (&) [9]>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> >*&&, char const (&&&) [9])
Line
Count
Source
54
87
template <typename T, typename... U> T *make(U &&... Args) {
55
87
  static SpecificAlloc<T> Alloc;
56
87
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
87
}
lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> >*, char const (&) [9]>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> >*&&, char const (&&&) [9])
Line
Count
Source
54
1.21k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.21k
  static SpecificAlloc<T> Alloc;
56
1.21k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.21k
}
lld::elf::MergeInputSection* lld::elf::make<lld::elf::MergeInputSection, lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> >*, char const (&) [9]>(lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >*&&, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> >*&&, char const (&&&) [9])
Line
Count
Source
54
43
template <typename T, typename... U> T *make(U &&... Args) {
55
43
  static SpecificAlloc<T> Alloc;
56
43
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
43
}
lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >, llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)1, false> >&>(llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)1, false> >&&&)
Line
Count
Source
54
13
template <typename T, typename... U> T *make(U &&... Args) {
55
13
  static SpecificAlloc<T> Alloc;
56
13
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
13
}
lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >, llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)0, false> >&>(llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)0, false> >&&&)
Line
Count
Source
54
92
template <typename T, typename... U> T *make(U &&... Args) {
55
92
  static SpecificAlloc<T> Alloc;
56
92
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
92
}
lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >, llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)1, true> >&>(llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)1, true> >&&&)
Line
Count
Source
54
2
template <typename T, typename... U> T *make(U &&... Args) {
55
2
  static SpecificAlloc<T> Alloc;
56
2
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
2
}
lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::MipsAbiFlagsSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >, llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)0, true> >&>(llvm::object::Elf_Mips_ABIFlags<llvm::object::ELFType<(llvm::support::endianness)0, true> >&&&)
Line
Count
Source
54
28
template <typename T, typename... U> T *make(U &&... Args) {
55
28
  static SpecificAlloc<T> Alloc;
56
28
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
28
}
lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, true> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, true> >&&&)
Line
Count
Source
54
2
template <typename T, typename... U> T *make(U &&... Args) {
55
2
  static SpecificAlloc<T> Alloc;
56
2
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
2
}
lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, true> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, true> >&&&)
Line
Count
Source
54
28
template <typename T, typename... U> T *make(U &&... Args) {
55
28
  static SpecificAlloc<T> Alloc;
56
28
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
28
}
lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, false> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, false> >&&&)
Line
Count
Source
54
13
template <typename T, typename... U> T *make(U &&... Args) {
55
13
  static SpecificAlloc<T> Alloc;
56
13
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
13
}
lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, false> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, false> >&&&)
Line
Count
Source
54
92
template <typename T, typename... U> T *make(U &&... Args) {
55
92
  static SpecificAlloc<T> Alloc;
56
92
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
92
}
lld::elf::CieRecord* lld::elf::make<lld::elf::CieRecord>()
Line
Count
Source
54
76
template <typename T, typename... U> T *make(U &&... Args) {
55
76
  static SpecificAlloc<T> Alloc;
56
76
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
76
}
Unexecuted instantiation: lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, true> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, true> >&&&)
Unexecuted instantiation: lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, false> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)1, false> >&&&)
Unexecuted instantiation: lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::MipsReginfoSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, true> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, true> >&&&)
Unexecuted instantiation: lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::MipsOptionsSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >, llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, false> >&>(llvm::object::Elf_Mips_RegInfo<llvm::object::ELFType<(llvm::support::endianness)0, false> >&&&)
Thunks.cpp:lld::elf::(anonymous namespace)::ARMV7PILongThunk* lld::elf::make<lld::elf::(anonymous namespace)::ARMV7PILongThunk, lld::elf::SymbolBody&>(lld::elf::SymbolBody&&&)
Line
Count
Source
54
3
template <typename T, typename... U> T *make(U &&... Args) {
55
3
  static SpecificAlloc<T> Alloc;
56
3
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
3
}
Thunks.cpp:lld::elf::(anonymous namespace)::ARMV7ABSLongThunk* lld::elf::make<lld::elf::(anonymous namespace)::ARMV7ABSLongThunk, lld::elf::SymbolBody&>(lld::elf::SymbolBody&&&)
Line
Count
Source
54
4
template <typename T, typename... U> T *make(U &&... Args) {
55
4
  static SpecificAlloc<T> Alloc;
56
4
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
4
}
Thunks.cpp:lld::elf::(anonymous namespace)::ThumbV7PILongThunk* lld::elf::make<lld::elf::(anonymous namespace)::ThumbV7PILongThunk, lld::elf::SymbolBody&>(lld::elf::SymbolBody&&&)
Line
Count
Source
54
9
template <typename T, typename... U> T *make(U &&... Args) {
55
9
  static SpecificAlloc<T> Alloc;
56
9
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
9
}
Thunks.cpp:lld::elf::(anonymous namespace)::ThumbV7ABSLongThunk* lld::elf::make<lld::elf::(anonymous namespace)::ThumbV7ABSLongThunk, lld::elf::SymbolBody&>(lld::elf::SymbolBody&&&)
Line
Count
Source
54
5
template <typename T, typename... U> T *make(U &&... Args) {
55
5
  static SpecificAlloc<T> Alloc;
56
5
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
5
}
Thunks.cpp:lld::elf::(anonymous namespace)::MipsThunk* lld::elf::make<lld::elf::(anonymous namespace)::MipsThunk, lld::elf::SymbolBody&>(lld::elf::SymbolBody&&&)
Line
Count
Source
54
28
template <typename T, typename... U> T *make(U &&... Args) {
55
28
  static SpecificAlloc<T> Alloc;
56
28
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
28
}
lld::elf::StringTableSection* lld::elf::make<lld::elf::StringTableSection, char const (&) [8], bool>(char const (&&&) [8], bool&&)
Line
Count
Source
54
3.17k
template <typename T, typename... U> T *make(U &&... Args) {
55
3.17k
  static SpecificAlloc<T> Alloc;
56
3.17k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
3.17k
}
lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >()
Line
Count
Source
54
191
template <typename T, typename... U> T *make(U &&... Args) {
55
191
  static SpecificAlloc<T> Alloc;
56
191
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
191
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >, char const*, bool&>(char const*&&, bool&&&)
Line
Count
Source
54
191
template <typename T, typename... U> T *make(U &&... Args) {
55
191
  static SpecificAlloc<T> Alloc;
56
191
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
191
}
lld::elf::StringTableSection* lld::elf::make<lld::elf::StringTableSection, char const (&) [10], bool>(char const (&&&) [10], bool&&)
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
Writer.cpp:lld::elf::OutputSection* lld::elf::make<lld::elf::OutputSection, char const (&) [1], int, llvm::ELF::$_3>(char const (&&&) [1], int&&, llvm::ELF::$_3&&)
Line
Count
Source
54
3.17k
template <typename T, typename... U> T *make(U &&... Args) {
55
3.17k
  static SpecificAlloc<T> Alloc;
56
3.17k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
3.17k
}
lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >, lld::elf::StringTableSection&>(lld::elf::StringTableSection&&&)
Line
Count
Source
54
297
template <typename T, typename... U> T *make(U &&... Args) {
55
297
  static SpecificAlloc<T> Alloc;
56
297
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
297
}
lld::elf::BuildIdSection* lld::elf::make<lld::elf::BuildIdSection>()
Line
Count
Source
54
12
template <typename T, typename... U> T *make(U &&... Args) {
55
12
  static SpecificAlloc<T> Alloc;
56
12
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
12
}
lld::elf::BssSection* lld::elf::make<lld::elf::BssSection, char const (&) [5]>(char const (&&&) [5])
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
lld::elf::BssSection* lld::elf::make<lld::elf::BssSection, char const (&) [12]>(char const (&&&) [12])
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
lld::elf::MipsRldMapSection* lld::elf::make<lld::elf::MipsRldMapSection>()
Line
Count
Source
54
20
template <typename T, typename... U> T *make(U &&... Args) {
55
20
  static SpecificAlloc<T> Alloc;
56
20
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
20
}
lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >()
Line
Count
Source
54
106
template <typename T, typename... U> T *make(U &&... Args) {
55
106
  static SpecificAlloc<T> Alloc;
56
106
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
106
}
Unexecuted instantiation: lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >()
lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >()
Line
Count
Source
54
106
template <typename T, typename... U> T *make(U &&... Args) {
55
106
  static SpecificAlloc<T> Alloc;
56
106
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
106
}
lld::elf::GnuHashTableSection* lld::elf::make<lld::elf::GnuHashTableSection>()
Line
Count
Source
54
5
template <typename T, typename... U> T *make(U &&... Args) {
55
5
  static SpecificAlloc<T> Alloc;
56
5
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
5
}
lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >()
Line
Count
Source
54
104
template <typename T, typename... U> T *make(U &&... Args) {
55
104
  static SpecificAlloc<T> Alloc;
56
104
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
104
}
lld::elf::MipsGotSection* lld::elf::make<lld::elf::MipsGotSection>()
Line
Count
Source
54
137
template <typename T, typename... U> T *make(U &&... Args) {
55
137
  static SpecificAlloc<T> Alloc;
56
137
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
137
}
lld::elf::GotSection* lld::elf::make<lld::elf::GotSection>()
Line
Count
Source
54
1.45k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.45k
  static SpecificAlloc<T> Alloc;
56
1.45k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.45k
}
lld::elf::GotPltSection* lld::elf::make<lld::elf::GotPltSection>()
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
lld::elf::IgotPltSection* lld::elf::make<lld::elf::IgotPltSection>()
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >, char const*, bool>(char const*&&, bool&&)
Line
Count
Source
54
191
template <typename T, typename... U> T *make(U &&... Args) {
55
191
  static SpecificAlloc<T> Alloc;
56
191
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
191
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >, llvm::StringRef, bool>(llvm::StringRef&&, bool&&)
Line
Count
Source
54
191
template <typename T, typename... U> T *make(U &&... Args) {
55
191
  static SpecificAlloc<T> Alloc;
56
191
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
191
}
lld::elf::PltSection* lld::elf::make<lld::elf::PltSection, unsigned int&>(unsigned int&&&)
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
lld::elf::PltSection* lld::elf::make<lld::elf::PltSection, int>(int&&)
Line
Count
Source
54
1.58k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.58k
  static SpecificAlloc<T> Alloc;
56
1.58k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.58k
}
Unexecuted instantiation: lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)1, false> > >()
lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)1, false> >* lld::elf::make<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)1, false> > >()
Line
Count
Source
54
185
template <typename T, typename... U> T *make(U &&... Args) {
55
185
  static SpecificAlloc<T> Alloc;
56
185
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
185
}
Writer.cpp:lld::elf::DefinedRegular* lld::elf::make<lld::elf::DefinedRegular, char const (&) [1], bool, int, llvm::ELF::$_4, int, int, lld::elf::InputSection*&>(char const (&&&) [1], bool&&, int&&, llvm::ELF::$_4&&, int&&, int&&, lld::elf::InputSection*&&&)
Line
Count
Source
54
173
template <typename T, typename... U> T *make(U &&... Args) {
55
173
  static SpecificAlloc<T> Alloc;
56
173
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
173
}
lld::elf::ARMExidxSentinelSection* lld::elf::make<lld::elf::ARMExidxSentinelSection>()
Line
Count
Source
54
16
template <typename T, typename... U> T *make(U &&... Args) {
55
16
  static SpecificAlloc<T> Alloc;
56
16
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
16
}
lld::elf::PhdrEntry* lld::elf::make<lld::elf::PhdrEntry, unsigned int&, unsigned int&>(unsigned int&&&, unsigned int&&&)
Line
Count
Source
54
7.25k
template <typename T, typename... U> T *make(U &&... Args) {
55
7.25k
  static SpecificAlloc<T> Alloc;
56
7.25k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
7.25k
}
Writer.cpp:lld::elf::PhdrEntry* lld::elf::make<lld::elf::PhdrEntry, llvm::ELF::$_5, llvm::ELF::$_6>(llvm::ELF::$_5&&, llvm::ELF::$_6&&)
Line
Count
Source
54
2.89k
template <typename T, typename... U> T *make(U &&... Args) {
55
2.89k
  static SpecificAlloc<T> Alloc;
56
2.89k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
2.89k
}
lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >()
Line
Count
Source
54
95
template <typename T, typename... U> T *make(U &&... Args) {
55
95
  static SpecificAlloc<T> Alloc;
56
95
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
95
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >, char const*, bool&>(char const*&&, bool&&&)
Line
Count
Source
54
95
template <typename T, typename... U> T *make(U &&... Args) {
55
95
  static SpecificAlloc<T> Alloc;
56
95
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
95
}
lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >, lld::elf::StringTableSection&>(lld::elf::StringTableSection&&&)
Line
Count
Source
54
149
template <typename T, typename... U> T *make(U &&... Args) {
55
149
  static SpecificAlloc<T> Alloc;
56
149
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
149
}
lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >()
Line
Count
Source
54
54
template <typename T, typename... U> T *make(U &&... Args) {
55
54
  static SpecificAlloc<T> Alloc;
56
54
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
54
}
Unexecuted instantiation: lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >()
lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >()
Line
Count
Source
54
54
template <typename T, typename... U> T *make(U &&... Args) {
55
54
  static SpecificAlloc<T> Alloc;
56
54
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
54
}
lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >()
Line
Count
Source
54
54
template <typename T, typename... U> T *make(U &&... Args) {
55
54
  static SpecificAlloc<T> Alloc;
56
54
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
54
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >, char const*, bool>(char const*&&, bool&&)
Line
Count
Source
54
95
template <typename T, typename... U> T *make(U &&... Args) {
55
95
  static SpecificAlloc<T> Alloc;
56
95
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
95
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >, llvm::StringRef, bool>(llvm::StringRef&&, bool&&)
Line
Count
Source
54
95
template <typename T, typename... U> T *make(U &&... Args) {
55
95
  static SpecificAlloc<T> Alloc;
56
95
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
95
}
lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)0, false> > >()
Line
Count
Source
54
1
template <typename T, typename... U> T *make(U &&... Args) {
55
1
  static SpecificAlloc<T> Alloc;
56
1
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1
}
lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, false> >* lld::elf::make<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, false> > >()
Line
Count
Source
54
87
template <typename T, typename... U> T *make(U &&... Args) {
55
87
  static SpecificAlloc<T> Alloc;
56
87
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
87
}
lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >()
Line
Count
Source
54
1.25k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.25k
  static SpecificAlloc<T> Alloc;
56
1.25k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.25k
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >, char const*, bool&>(char const*&&, bool&&&)
Line
Count
Source
54
1.25k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.25k
  static SpecificAlloc<T> Alloc;
56
1.25k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.25k
}
lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >, lld::elf::StringTableSection&>(lld::elf::StringTableSection&&&)
Line
Count
Source
54
1.87k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.87k
  static SpecificAlloc<T> Alloc;
56
1.87k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.87k
}
lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >()
Line
Count
Source
54
617
template <typename T, typename... U> T *make(U &&... Args) {
55
617
  static SpecificAlloc<T> Alloc;
56
617
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
617
}
lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >()
Line
Count
Source
54
36
template <typename T, typename... U> T *make(U &&... Args) {
55
36
  static SpecificAlloc<T> Alloc;
56
36
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
36
}
lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >()
Line
Count
Source
54
617
template <typename T, typename... U> T *make(U &&... Args) {
55
617
  static SpecificAlloc<T> Alloc;
56
617
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
617
}
lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >()
Line
Count
Source
54
615
template <typename T, typename... U> T *make(U &&... Args) {
55
615
  static SpecificAlloc<T> Alloc;
56
615
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
615
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >, char const*, bool>(char const*&&, bool&&)
Line
Count
Source
54
1.25k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.25k
  static SpecificAlloc<T> Alloc;
56
1.25k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.25k
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >, llvm::StringRef, bool>(llvm::StringRef&&, bool&&)
Line
Count
Source
54
1.25k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.25k
  static SpecificAlloc<T> Alloc;
56
1.25k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.25k
}
lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)1, true> > >()
Line
Count
Source
54
12
template <typename T, typename... U> T *make(U &&... Args) {
55
12
  static SpecificAlloc<T> Alloc;
56
12
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
12
}
lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)1, true> >* lld::elf::make<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)1, true> > >()
Line
Count
Source
54
1.21k
template <typename T, typename... U> T *make(U &&... Args) {
55
1.21k
  static SpecificAlloc<T> Alloc;
56
1.21k
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
1.21k
}
lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::DynamicSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >()
Line
Count
Source
54
44
template <typename T, typename... U> T *make(U &&... Args) {
55
44
  static SpecificAlloc<T> Alloc;
56
44
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
44
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >, char const*, bool&>(char const*&&, bool&&&)
Line
Count
Source
54
44
template <typename T, typename... U> T *make(U &&... Args) {
55
44
  static SpecificAlloc<T> Alloc;
56
44
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
44
}
lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::SymbolTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >, lld::elf::StringTableSection&>(lld::elf::StringTableSection&&&)
Line
Count
Source
54
69
template <typename T, typename... U> T *make(U &&... Args) {
55
69
  static SpecificAlloc<T> Alloc;
56
69
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
69
}
lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::VersionTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >()
Line
Count
Source
54
25
template <typename T, typename... U> T *make(U &&... Args) {
55
25
  static SpecificAlloc<T> Alloc;
56
25
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
25
}
Unexecuted instantiation: lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::VersionDefinitionSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >()
lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::VersionNeedSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >()
Line
Count
Source
54
25
template <typename T, typename... U> T *make(U &&... Args) {
55
25
  static SpecificAlloc<T> Alloc;
56
25
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
25
}
lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::HashTableSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >()
Line
Count
Source
54
25
template <typename T, typename... U> T *make(U &&... Args) {
55
25
  static SpecificAlloc<T> Alloc;
56
25
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
25
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >, char const*, bool>(char const*&&, bool&&)
Line
Count
Source
54
44
template <typename T, typename... U> T *make(U &&... Args) {
55
44
  static SpecificAlloc<T> Alloc;
56
44
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
44
}
lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::RelocationSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >, llvm::StringRef, bool>(llvm::StringRef&&, bool&&)
Line
Count
Source
54
44
template <typename T, typename... U> T *make(U &&... Args) {
55
44
  static SpecificAlloc<T> Alloc;
56
44
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
44
}
lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::EhFrameHeader<llvm::object::ELFType<(llvm::support::endianness)0, true> > >()
Line
Count
Source
54
3
template <typename T, typename... U> T *make(U &&... Args) {
55
3
  static SpecificAlloc<T> Alloc;
56
3
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
3
}
lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, true> >* lld::elf::make<lld::elf::EhFrameSection<llvm::object::ELFType<(llvm::support::endianness)0, true> > >()
Line
Count
Source
54
43
template <typename T, typename... U> T *make(U &&... Args) {
55
43
  static SpecificAlloc<T> Alloc;
56
43
  return new (Alloc.Alloc.Allocate()) T(std::forward<U>(Args)...);
57
43
}
58
59
1.76k
inline void freeArena() {
60
1.76k
  for (SpecificAllocBase *Alloc : SpecificAllocBase::Instances)
61
57.2k
    Alloc->reset();
62
1.76k
  BAlloc.Reset();
63
1.76k
}
64
} // namespace elf
65
} // namespace lld
66
67
#endif