cpp

Coverage Report

Created: 2023-03-07 20:24

/home/andy/git/oilshell/oil/mycpp/gc_alloc.h
Line
Count
Source (jump to first uncovered line)
1
// gc_alloc.h: Functions that wrap gHeap.Allocate()
2
3
#ifndef MYCPP_GC_ALLOC_H
4
#define MYCPP_GC_ALLOC_H
5
6
#include <string.h>  // strlen
7
8
#include <new>      // placement new
9
#include <utility>  // std::forward
10
11
#include "mycpp/gc_slab.h"  // for NewSlab()
12
#include "mycpp/gc_str.h"   // for NewStr()
13
14
#if defined(BUMP_LEAK)
15
  #include "mycpp/bump_leak_heap.h"
16
extern BumpLeakHeap gHeap;
17
#elif defined(MARK_SWEEP)
18
  #include "mycpp/mark_sweep_heap.h"
19
extern MarkSweepHeap gHeap;
20
#elif defined(CHENEY_GC)
21
  #include "mycpp/cheney_heap.h"
22
extern CheneyHeap gHeap;
23
#endif
24
25
#define VALIDATE_ROOTS 0
26
27
// mycpp generates code that keeps track of the root set
28
class StackRoots {
29
 public:
30
  // Note: void** seems logical, because these are pointers to pointers, but
31
  // the C++ compiler doesn't like it.
32
109k
  StackRoots(std::initializer_list<void*> roots) {
33
109k
    n_ = roots.size();
34
35
#if VALIDATE_ROOTS
36
    int i = 0;
37
#endif
38
39
110k
    for (auto root : roots) {  // can't use roots[i]
40
41
#if VALIDATE_ROOTS
42
      RawObject* obj = *(reinterpret_cast<RawObject**>(root));
43
      if (obj) {
44
        RawObject* header = FindObjHeader(obj);
45
        log("obj %p header %p", obj, header);
46
47
        switch (header->heap_tag) {
48
        case HeapTag::Global:
49
        case HeapTag::Opaque:
50
        case HeapTag::Scanned:
51
        case HeapTag::FixedSize:
52
          break;
53
54
        default:
55
          log("root %d heap %d type %d mask %d len %d", i, header->heap_tag,
56
              header->type_tag, header->field_mask, header->obj_len);
57
          FAIL(kShouldNotGetHere);
58
          break;
59
        }
60
      }
61
      i++;
62
#endif
63
64
110k
      gHeap.PushRoot(reinterpret_cast<RawObject**>(root));
65
110k
    }
66
109k
  }
67
68
109k
  ~StackRoots() {
69
220k
    for (int i = 0; i < n_; ++i) {
70
110k
      gHeap.PopRoot();
71
110k
    }
72
109k
  }
73
74
 private:
75
  int n_;
76
};
77
78
// Note:
79
// - This function causes code bloat due to template expansion on hundreds of
80
//   types.  Could switch to a GC_NEW() macro
81
// - GCC generates slightly larger code if you factor out void* place and new
82
//   (place) T()
83
//
84
// Variadic templates:
85
// https://eli.thegreenplace.net/2014/variadic-templates-in-c/
86
template <typename T, typename... Args>
87
1.61k
T* Alloc(Args&&... args) {
88
1.61k
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1.61k
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1.61k
  int obj_id = gHeap.UnusedObjectId();
95
1.61k
#endif
96
97
1.61k
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1.61k
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1.61k
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1.61k
  header->obj_id = obj_id;
103
1.61k
#endif
104
1.61k
  return obj;
105
1.61k
}
_Z5AllocIN5mylib15CFileLineReaderEJRP8_IO_FILEEEPT_DpOT0_
Line
Count
Source
87
8
T* Alloc(Args&&... args) {
88
8
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
8
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
8
  int obj_id = gHeap.UnusedObjectId();
95
8
#endif
96
97
8
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
8
#if MARK_SWEEP
100
  // Hack for now: find the header
101
8
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
8
  header->obj_id = obj_id;
103
8
#endif
104
8
  return obj;
105
8
}
_Z5AllocI10ValueErrorJEEPT_DpOT0_
Line
Count
Source
87
15
T* Alloc(Args&&... args) {
88
15
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
15
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
15
  int obj_id = gHeap.UnusedObjectId();
95
15
#endif
96
97
15
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
15
#if MARK_SWEEP
100
  // Hack for now: find the header
101
15
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
15
  header->obj_id = obj_id;
103
15
#endif
104
15
  return obj;
105
15
}
_Z5AllocI10IndexErrorJEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
Unexecuted instantiation: _Z5AllocI8EOFErrorJEEPT_DpOT0_
_Z5AllocI7IOErrorJRiEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI4ListIP3StrEJEEPT_DpOT0_
Line
Count
Source
87
165
T* Alloc(Args&&... args) {
88
165
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
165
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
165
  int obj_id = gHeap.UnusedObjectId();
95
165
#endif
96
97
165
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
165
#if MARK_SWEEP
100
  // Hack for now: find the header
101
165
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
165
  header->obj_id = obj_id;
103
165
#endif
104
165
  return obj;
105
165
}
_Z5AllocIN14asdl_generated17arith_expr__ConstEJiEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
Unexecuted instantiation: _Z5AllocIN14asdl_generated17arith_expr__ConstEJRiEEPT_DpOT0_
_Z5AllocI4DictIP3StrS2_EJEEPT_DpOT0_
Line
Count
Source
87
9
T* Alloc(Args&&... args) {
88
9
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
9
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
9
  int obj_id = gHeap.UnusedObjectId();
95
9
#endif
96
97
9
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
9
#if MARK_SWEEP
100
  // Hack for now: find the header
101
9
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
9
  header->obj_id = obj_id;
103
9
#endif
104
9
  return obj;
105
9
}
_Z5AllocIN10classes_gc6OpaqueEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc10OpaqueBaseEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc13OpaqueDerivedEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc8PointersEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc12PointersBaseEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc15PointersDerivedEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc14BaseWithMethodEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc17DerivedWithMethodEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN10classes_gc8WithDictEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
Unexecuted instantiation: _Z5AllocI8KeyErrorJEEPT_DpOT0_
_Z5AllocIN10classes_gc6PrintfEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
Unexecuted instantiation: _Z5AllocI4ListIPN10classes_gc10OpaqueBaseEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN10classes_gc12PointersBaseEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN10classes_gc14BaseWithMethodEEJEEPT_DpOT0_
_Z5AllocIN5mylib11CFileWriterEJRP8_IO_FILEEEPT_DpOT0_
Line
Count
Source
87
9
T* Alloc(Args&&... args) {
88
9
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
9
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
9
  int obj_id = gHeap.UnusedObjectId();
95
9
#endif
96
97
9
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
9
#if MARK_SWEEP
100
  // Hack for now: find the header
101
9
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
9
  header->obj_id = obj_id;
103
9
#endif
104
9
  return obj;
105
9
}
_Z5AllocIN7classes10TextOutputEJRPN5mylib6WriterEEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN7classes4BaseEJDnEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN7classes8DerivedIEJDniEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN7classes9DerivedSSEJDnRP3StrS4_EEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN5mylib9BufWriterEJEEPT_DpOT0_
Line
Count
Source
87
42
T* Alloc(Args&&... args) {
88
42
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
42
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
42
  int obj_id = gHeap.UnusedObjectId();
95
42
#endif
96
97
42
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
42
#if MARK_SWEEP
100
  // Hack for now: find the header
101
42
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
42
  header->obj_id = obj_id;
103
42
#endif
104
42
  return obj;
105
42
}
Unexecuted instantiation: _Z5AllocIN7classes10TextOutputEJRPN5mylib9BufWriterEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN7classes4NodeEJDniEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN7classes4NodeEJRPS1_RiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN7classes8DerivedIEJRPNS0_4BaseERiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN7classes9DerivedSSEJRPNS0_8DerivedIERP3StrS7_EEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN7classes4BaseEJRPNS0_9DerivedSSEEEPT_DpOT0_
_Z5AllocI4ListIiEJEEPT_DpOT0_
Line
Count
Source
87
659
T* Alloc(Args&&... args) {
88
659
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
659
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
659
  int obj_id = gHeap.UnusedObjectId();
95
659
#endif
96
97
659
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
659
#if MARK_SWEEP
100
  // Hack for now: find the header
101
659
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
659
  header->obj_id = obj_id;
103
659
#endif
104
659
  return obj;
105
659
}
_Z5AllocI6Tuple2IiP3StrEJiRS2_EEPT_DpOT0_
Line
Count
Source
87
9
T* Alloc(Args&&... args) {
88
9
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
9
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
9
  int obj_id = gHeap.UnusedObjectId();
95
9
#endif
96
97
9
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
9
#if MARK_SWEEP
100
  // Hack for now: find the header
101
9
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
9
  header->obj_id = obj_id;
103
9
#endif
104
9
  return obj;
105
9
}
_Z5AllocIN10containers5PointEJiiEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI4DictIP3StriEJEEPT_DpOT0_
Line
Count
Source
87
17
T* Alloc(Args&&... args) {
88
17
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
17
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
17
  int obj_id = gHeap.UnusedObjectId();
95
17
#endif
96
97
17
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
17
#if MARK_SWEEP
100
  // Hack for now: find the header
101
17
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
17
  header->obj_id = obj_id;
103
17
#endif
104
17
  return obj;
105
17
}
_Z5AllocIN12control_flow10ParseErrorEJRP3StrEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI6Tuple2IiP3StrEJRiS2_EEPT_DpOT0_
Line
Count
Source
87
11
T* Alloc(Args&&... args) {
88
11
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
11
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
11
  int obj_id = gHeap.UnusedObjectId();
95
11
#endif
96
97
11
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
11
#if MARK_SWEEP
100
  // Hack for now: find the header
101
11
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
11
  header->obj_id = obj_id;
103
11
#endif
104
11
  return obj;
105
11
}
_Z5AllocI13StopIterationJEEPT_DpOT0_
Line
Count
Source
87
3
T* Alloc(Args&&... args) {
88
3
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
3
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
3
  int obj_id = gHeap.UnusedObjectId();
95
3
#endif
96
97
3
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
3
#if MARK_SWEEP
100
  // Hack for now: find the header
101
3
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
3
  header->obj_id = obj_id;
103
3
#endif
104
3
  return obj;
105
3
}
_Z5AllocIN9iterators3FooEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI6Tuple2IP3StriEJRS2_iEEPT_DpOT0_
Line
Count
Source
87
3
T* Alloc(Args&&... args) {
88
3
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
3
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
3
  int obj_id = gHeap.UnusedObjectId();
95
3
#endif
96
97
3
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
3
#if MARK_SWEEP
100
  // Hack for now: find the header
101
3
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
3
  header->obj_id = obj_id;
103
3
#endif
104
3
  return obj;
105
3
}
_Z5AllocI4ListIP6Tuple2IP3StriEEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI4ListIP6Tuple2IiP3StrEEJEEPT_DpOT0_
Line
Count
Source
87
5
T* Alloc(Args&&... args) {
88
5
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
5
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
5
  int obj_id = gHeap.UnusedObjectId();
95
5
#endif
96
97
5
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
5
#if MARK_SWEEP
100
  // Hack for now: find the header
101
5
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
5
  header->obj_id = obj_id;
103
5
#endif
104
5
  return obj;
105
5
}
_Z5AllocIN7modules3DogEJRP3StrEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN7module13CatEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN7modules6SphinxEJRP3StrEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN9expr_asdl12expr__BinaryEJRP3StrDnDnEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI4ListIPN10hnode_asdl5fieldEEJEEPT_DpOT0_
Line
Count
Source
87
37
T* Alloc(Args&&... args) {
88
37
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
37
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
37
  int obj_id = gHeap.UnusedObjectId();
95
37
#endif
96
97
37
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
37
#if MARK_SWEEP
100
  // Hack for now: find the header
101
37
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
37
  header->obj_id = obj_id;
103
37
#endif
104
37
  return obj;
105
37
}
_Z5AllocI4ListIPN10hnode_asdl7hnode_tEEJEEPT_DpOT0_
Line
Count
Source
87
37
T* Alloc(Args&&... args) {
88
37
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
37
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
37
  int obj_id = gHeap.UnusedObjectId();
95
37
#endif
96
97
37
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
37
#if MARK_SWEEP
100
  // Hack for now: find the header
101
37
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
37
  header->obj_id = obj_id;
103
37
#endif
104
37
  return obj;
105
37
}
Unexecuted instantiation: _Z5AllocIN10hnode_asdl11hnode__LeafEJRP3StrNS0_7color_eEEEPT_DpOT0_
_Z5AllocIN9expr_asdl11expr__ConstEJiEEPT_DpOT0_
Line
Count
Source
87
15
T* Alloc(Args&&... args) {
88
15
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
15
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
15
  int obj_id = gHeap.UnusedObjectId();
95
15
#endif
96
97
15
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
15
#if MARK_SWEEP
100
  // Hack for now: find the header
101
15
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
15
  header->obj_id = obj_id;
103
15
#endif
104
15
  return obj;
105
15
}
_Z5AllocIN9expr_asdl9expr__VarEJRP3StrEEPT_DpOT0_
Line
Count
Source
87
10
T* Alloc(Args&&... args) {
88
10
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
10
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
10
  int obj_id = gHeap.UnusedObjectId();
95
10
#endif
96
97
10
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
10
#if MARK_SWEEP
100
  // Hack for now: find the header
101
10
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
10
  header->obj_id = obj_id;
103
10
#endif
104
10
  return obj;
105
10
}
_Z5AllocIN10hnode_asdl13hnode__RecordEJRP3StrP4ListIPNS0_5fieldEEbS4_S4_PS5_IPNS0_7hnode_tEEEEPT_DpOT0_
Line
Count
Source
87
37
T* Alloc(Args&&... args) {
88
37
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
37
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
37
  int obj_id = gHeap.UnusedObjectId();
95
37
#endif
96
97
37
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
37
#if MARK_SWEEP
100
  // Hack for now: find the header
101
37
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
37
  header->obj_id = obj_id;
103
37
#endif
104
37
  return obj;
105
37
}
_Z5AllocIN10hnode_asdl11hnode__LeafEJRP3StrRNS0_7color_eEEEPT_DpOT0_
Line
Count
Source
87
22
T* Alloc(Args&&... args) {
88
22
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
22
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
22
  int obj_id = gHeap.UnusedObjectId();
95
22
#endif
96
97
22
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
22
#if MARK_SWEEP
100
  // Hack for now: find the header
101
22
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
22
  header->obj_id = obj_id;
103
22
#endif
104
22
  return obj;
105
22
}
Unexecuted instantiation: _Z5AllocIN6format10AnsiOutputEJRPN5mylib6WriterEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN6format10TextOutputEJRPN5mylib6WriterEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN6format10TextOutputEJPN5mylib9BufWriterEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN6format10HtmlOutputEJPN5mylib9BufWriterEEEPT_DpOT0_
_Z5AllocIN6format10AnsiOutputEJPN5mylib9BufWriterEEEPT_DpOT0_
Line
Count
Source
87
32
T* Alloc(Args&&... args) {
88
32
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
32
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
32
  int obj_id = gHeap.UnusedObjectId();
95
32
#endif
96
97
32
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
32
#if MARK_SWEEP
100
  // Hack for now: find the header
101
32
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
32
  header->obj_id = obj_id;
103
32
#endif
104
32
  return obj;
105
32
}
_Z5AllocI6Tuple2IP3StriEJRS2_RiEEPT_DpOT0_
Line
Count
Source
87
23
T* Alloc(Args&&... args) {
88
23
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
23
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
23
  int obj_id = gHeap.UnusedObjectId();
95
23
#endif
96
97
23
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
23
#if MARK_SWEEP
100
  // Hack for now: find the header
101
23
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
23
  header->obj_id = obj_id;
103
23
#endif
104
23
  return obj;
105
23
}
_Z5AllocIN6format14_PrettyPrinterEJiEEPT_DpOT0_
Line
Count
Source
87
9
T* Alloc(Args&&... args) {
88
9
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
9
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
9
  int obj_id = gHeap.UnusedObjectId();
95
9
#endif
96
97
9
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
9
#if MARK_SWEEP
100
  // Hack for now: find the header
101
9
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
9
  header->obj_id = obj_id;
103
9
#endif
104
9
  return obj;
105
9
}
_Z5AllocIN5parse10ParseErrorEJP3StrEEPT_DpOT0_
Line
Count
Source
87
5
T* Alloc(Args&&... args) {
88
5
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
5
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
5
  int obj_id = gHeap.UnusedObjectId();
95
5
#endif
96
97
5
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
5
#if MARK_SWEEP
100
  // Hack for now: find the header
101
5
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
5
  header->obj_id = obj_id;
103
5
#endif
104
5
  return obj;
105
5
}
_Z5AllocIN9expr_asdl12expr__BinaryEJRP3StrRPNS0_6expr_tES7_EEPT_DpOT0_
Line
Count
Source
87
14
T* Alloc(Args&&... args) {
88
14
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
14
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
14
  int obj_id = gHeap.UnusedObjectId();
95
14
#endif
96
97
14
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
14
#if MARK_SWEEP
100
  // Hack for now: find the header
101
14
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
14
  header->obj_id = obj_id;
103
14
#endif
104
14
  return obj;
105
14
}
_Z5AllocIN5parse5LexerEJRP3StrEEPT_DpOT0_
Line
Count
Source
87
14
T* Alloc(Args&&... args) {
88
14
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
14
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
14
  int obj_id = gHeap.UnusedObjectId();
95
14
#endif
96
97
14
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
14
#if MARK_SWEEP
100
  // Hack for now: find the header
101
14
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
14
  header->obj_id = obj_id;
103
14
#endif
104
14
  return obj;
105
14
}
_Z5AllocIN5parse6ParserEJRPNS0_5LexerEEEPT_DpOT0_
Line
Count
Source
87
13
T* Alloc(Args&&... args) {
88
13
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
13
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
13
  int obj_id = gHeap.UnusedObjectId();
95
13
#endif
96
97
13
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
13
#if MARK_SWEEP
100
  // Hack for now: find the header
101
13
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
13
  header->obj_id = obj_id;
103
13
#endif
104
13
  return obj;
105
13
}
_Z5AllocIN6format10AnsiOutputEJPN5mylib6WriterEEEPT_DpOT0_
Line
Count
Source
87
9
T* Alloc(Args&&... args) {
88
9
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
9
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
9
  int obj_id = gHeap.UnusedObjectId();
95
9
#endif
96
97
9
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
9
#if MARK_SWEEP
100
  // Hack for now: find the header
101
9
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
9
  header->obj_id = obj_id;
103
9
#endif
104
9
  return obj;
105
9
}
Unexecuted instantiation: _Z5AllocIN10hnode_asdl13hnode__RecordEJDnP4ListIPNS0_5fieldEEbRP3StrS9_PS2_IPNS0_7hnode_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN10hnode_asdl12hnode__ArrayEJP4ListIPNS0_7hnode_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN10hnode_asdl15hnode__ExternalEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN10hnode_asdl5fieldEJRP3StrDnEEPT_DpOT0_
_Z5AllocIN10hnode_asdl11hnode__LeafEJP3StrNS0_7color_eEEEPT_DpOT0_
Line
Count
Source
87
15
T* Alloc(Args&&... args) {
88
15
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
15
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
15
  int obj_id = gHeap.UnusedObjectId();
95
15
#endif
96
97
15
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
15
#if MARK_SWEEP
100
  // Hack for now: find the header
101
15
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
15
  header->obj_id = obj_id;
103
15
#endif
104
15
  return obj;
105
15
}
_Z5AllocIN10hnode_asdl5fieldEJP3StrRPNS0_7hnode_tEEEPT_DpOT0_
Line
Count
Source
87
65
T* Alloc(Args&&... args) {
88
65
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
65
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
65
  int obj_id = gHeap.UnusedObjectId();
95
65
#endif
96
97
65
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
65
#if MARK_SWEEP
100
  // Hack for now: find the header
101
65
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
65
  header->obj_id = obj_id;
103
65
#endif
104
65
  return obj;
105
65
}
_Z5AllocIN15scoped_resource7MyErrorEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN15scoped_resource8DirStackEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI4ListIbEJEEPT_DpOT0_
Line
Count
Source
87
3
T* Alloc(Args&&... args) {
88
3
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
3
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
3
  int obj_id = gHeap.UnusedObjectId();
95
3
#endif
96
97
3
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
3
#if MARK_SWEEP
100
  // Hack for now: find the header
101
3
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
3
  header->obj_id = obj_id;
103
3
#endif
104
3
  return obj;
105
3
}
_Z5AllocIN7strings3FooEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN9test_cast11ColorOutputEJRPN5mylib9BufWriterEEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN17test_default_args3FooEJiEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN17test_default_args3FooEJiiEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocIN12test_globals7MyClassEJiEEPT_DpOT0_
Line
Count
Source
87
10
T* Alloc(Args&&... args) {
88
10
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
10
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
10
  int obj_id = gHeap.UnusedObjectId();
95
10
#endif
96
97
10
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
10
#if MARK_SWEEP
100
  // Hack for now: find the header
101
10
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
10
  header->obj_id = obj_id;
103
10
#endif
104
10
  return obj;
105
10
}
_Z5AllocI6Tuple2IP3StriEJS2_iEEPT_DpOT0_
Line
Count
Source
87
10
T* Alloc(Args&&... args) {
88
10
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
10
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
10
  int obj_id = gHeap.UnusedObjectId();
95
10
#endif
96
97
10
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
10
#if MARK_SWEEP
100
  // Hack for now: find the header
101
10
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
10
  header->obj_id = obj_id;
103
10
#endif
104
10
  return obj;
105
10
}
_Z5AllocI10ValueErrorJRP3StrEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI7OSErrorJiEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI12RuntimeErrorJRP3StrEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI12UnicodeErrorJP3StrEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI7IOErrorJiEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI4DictIiP3StrEJEEPT_DpOT0_
Line
Count
Source
87
8
T* Alloc(Args&&... args) {
88
8
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
8
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
8
  int obj_id = gHeap.UnusedObjectId();
95
8
#endif
96
97
8
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
8
#if MARK_SWEEP
100
  // Hack for now: find the header
101
8
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
8
  header->obj_id = obj_id;
103
8
#endif
104
8
  return obj;
105
8
}
_Z5AllocI4DictIiiEJEEPT_DpOT0_
Line
Count
Source
87
6
T* Alloc(Args&&... args) {
88
6
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
6
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
6
  int obj_id = gHeap.UnusedObjectId();
95
6
#endif
96
97
6
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
6
#if MARK_SWEEP
100
  // Hack for now: find the header
101
6
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
6
  header->obj_id = obj_id;
103
6
#endif
104
6
  return obj;
105
6
}
_Z5AllocI4ListIP6Tuple2IiiEEJEEPT_DpOT0_
Line
Count
Source
87
4
T* Alloc(Args&&... args) {
88
4
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
4
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
4
  int obj_id = gHeap.UnusedObjectId();
95
4
#endif
96
97
4
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
4
#if MARK_SWEEP
100
  // Hack for now: find the header
101
4
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
4
  header->obj_id = obj_id;
103
4
#endif
104
4
  return obj;
105
4
}
_Z5AllocI6Tuple2IiiEJiiEEPT_DpOT0_
Line
Count
Source
87
19
T* Alloc(Args&&... args) {
88
19
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
19
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
19
  int obj_id = gHeap.UnusedObjectId();
95
19
#endif
96
97
19
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
19
#if MARK_SWEEP
100
  // Hack for now: find the header
101
19
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
19
  header->obj_id = obj_id;
103
19
#endif
104
19
  return obj;
105
19
}
_Z5AllocI4DictIP6Tuple2IiiEiEJEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI4DictIP6Tuple2IP3StriEiEJEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI5PointJiiEEPT_DpOT0_
Line
Count
Source
87
4
T* Alloc(Args&&... args) {
88
4
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
4
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
4
  int obj_id = gHeap.UnusedObjectId();
95
4
#endif
96
97
4
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
4
#if MARK_SWEEP
100
  // Hack for now: find the header
101
4
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
4
  header->obj_id = obj_id;
103
4
#endif
104
4
  return obj;
105
4
}
_Z5AllocI4LineJEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI10DerivedObjJEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI4ListIdEJEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocIN5mylib13BufLineReaderEJRP3StrEEPT_DpOT0_
Line
Count
Source
87
6
T* Alloc(Args&&... args) {
88
6
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
6
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
6
  int obj_id = gHeap.UnusedObjectId();
95
6
#endif
96
97
6
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
6
#if MARK_SWEEP
100
  // Hack for now: find the header
101
6
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
6
  header->obj_id = obj_id;
103
6
#endif
104
6
  return obj;
105
6
}
_Z5AllocI6Tuple2IiP3StrEJiS2_EEPT_DpOT0_
Line
Count
Source
87
7
T* Alloc(Args&&... args) {
88
7
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
7
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
7
  int obj_id = gHeap.UnusedObjectId();
95
7
#endif
96
97
7
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
7
#if MARK_SWEEP
100
  // Hack for now: find the header
101
7
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
7
  header->obj_id = obj_id;
103
7
#endif
104
7
  return obj;
105
7
}
_Z5AllocI6Tuple3IiP3StrS2_EJiS2_S2_EEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI6Tuple4IiP3StrS2_iEJiS2_S2_iEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI6Tuple2IiPS0_IiP3StrEEJiRS4_EEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocI4NodeJEEPT_DpOT0_
Line
Count
Source
87
4
T* Alloc(Args&&... args) {
88
4
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
4
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
4
  int obj_id = gHeap.UnusedObjectId();
95
4
#endif
96
97
4
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
4
#if MARK_SWEEP
100
  // Hack for now: find the header
101
4
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
4
  header->obj_id = obj_id;
103
4
#endif
104
4
  return obj;
105
4
}
_Z5AllocIN4pyos9ReadErrorEJiEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI7OSErrorJRiEEPT_DpOT0_
Line
Count
Source
87
4
T* Alloc(Args&&... args) {
88
4
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
4
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
4
  int obj_id = gHeap.UnusedObjectId();
95
4
#endif
96
97
4
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
4
#if MARK_SWEEP
100
  // Hack for now: find the header
101
4
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
4
  header->obj_id = obj_id;
103
4
#endif
104
4
  return obj;
105
4
}
Unexecuted instantiation: _Z5AllocIN10hnode_asdl12hnode__ArrayEJP4ListIPNS0_7hnode_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18parse_result__NodeEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14source__UnusedEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13source__StdinEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16source__MainFileEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19source__SourcedFileEJRP3StriEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16source__ArgvWordEJRP3StriEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16source__VariableEJRP3StriEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14source__VarRefEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13source__AliasEJRP3StriEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16source__ReparsedEJRP3StrDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17source__SyntheticEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9loc__SpanEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13loc__WordPartEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9loc__WordEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10loc__ArithEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12loc__CommandEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl22bracket_op__WholeArrayEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl22bracket_op__ArrayIndexEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16suffix_op__UnaryEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17suffix_op__StaticEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17suffix_op__PatSubEJDnDniDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16suffix_op__SliceEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl10assoc_pairEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl28word_part__AssocArrayLiteralEJDnP4ListIPNS0_10assoc_pairEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl25word_part__EscapedLiteralEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19word_part__TildeSubEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19word_part__ArithSubEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl13compound_wordEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl22word_part__BracedTupleEJP4ListIPNS0_13compound_wordEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl22word_part__BracedRangeEJiRP3StrS4_iEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18word_part__ExtGlobEJDnP4ListIPNS0_13compound_wordEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17word_part__SpliceEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19word_part__FuncCallEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18word_part__ExprSubEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl11word_part_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16word__BracedTreeEJP4ListIPNS0_11word_part_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12word__StringEJiRP3StriEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17sh_lhs_expr__NameEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl24sh_lhs_expr__IndexedNameEJDnRP3StrDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl26sh_lhs_expr__UnparsedIndexEJDnRP3StrS4_EEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl23arith_expr__UnaryAssignEJiDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl24arith_expr__BinaryAssignEJiDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17arith_expr__UnaryEJiDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18arith_expr__BinaryEJiDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl21arith_expr__TernaryOpEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19bool_expr__WordTestEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17bool_expr__BinaryEJiDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16bool_expr__UnaryEJiDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl21bool_expr__LogicalNotEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl21bool_expr__LogicalAndEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20bool_expr__LogicalOrEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13redir_loc__FdEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18redir_loc__VarNameEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20redir_param__HereDocEJDniP4ListIPNS0_11word_part_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl9command_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16condition__ShellEJP4ListIPNS0_9command_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14condition__OilEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl6word_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl15for_iter__WordsEJP4ListIPNS0_6word_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13for_iter__OilEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl5redirEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl8env_pairEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl15command__SimpleEJP4ListIPNS0_6word_tEEPS2_IPNS0_5redirEEPS2_IPNS0_8env_pairEEDnDnbEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl22command__ExpandedAliasEJDnP4ListIPNS0_5redirEEPS2_IPNS0_8env_pairEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17command__SentenceEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl11assign_pairEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl21command__ShAssignmentEJP4ListIPNS0_11assign_pairEEPS2_IPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20command__ControlFlowEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17command__PipelineEJP4ListIPNS0_9command_tEEbPS2_IiEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14command__AndOrEJP4ListIiEPS2_IPNS0_9command_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16command__DoGroupEJP4ListIPNS0_9command_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17command__SubshellEJDnP4ListIPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl15command__DParenEJDnP4ListIPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17command__DBracketEJDnP4ListIPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16command__ForEachEJP4ListIP3StrEDnDnPS2_IPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16command__ForExprEJDnDnDnDnP4ListIPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19command__WhileUntilEJDnDnDnP4ListIPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl6if_armEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11command__IfEJP4ListIPNS0_6if_armEEPS2_IPNS0_9command_tEEPS2_IPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl8case_armEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13command__CaseEJDnP4ListIPNS0_8case_armEEPS2_IPNS0_5redirEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19command__ShFunctionEJRP3StrDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18command__TimeBlockEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20command__CommandListEJP4ListIPNS0_9command_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17command__BareDeclEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl9name_typeEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16command__VarDeclEJDnP4ListIPNS0_9name_typeEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl12place_expr_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl22command__PlaceMutationEJDnP4ListIPNS0_12place_expr_tEEDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13command__ExprEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13command__ProcEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl5paramEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl11type_expr_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13command__FuncEJDnP4ListIPNS0_5paramEEDnS6_DnPS2_IPNS0_11type_expr_tEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13command__DataEJDnP4ListIPNS0_5paramEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl7variantEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13command__EnumEJDnP4ListIPNS0_7variantEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl12class_item_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14command__ClassEJDnDnP4ListIPNS0_12class_item_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl11import_nameEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl15command__ImportEJDnDnP4ListIPNS0_11import_nameEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12command__ForEJP4ListIPNS0_9name_typeEEDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14command__WhileEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl15command__ReturnEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18variant_type__AnonEJP4ListIPNS0_5paramEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17variant_type__RefEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16class_item__DataEJDnP4ListIPNS0_9name_typeEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl12UntypedParamEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl10TypedParamEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16proc_sig__ClosedEJP4ListIPNS0_12UntypedParamEEDnPS2_IPNS0_10TypedParamEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18glob_part__LiteralEJiRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19glob_part__OperatorEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20glob_part__CharClassEJbP4ListIP3StrEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20printf_part__LiteralEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl5TokenEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20printf_part__PercentEJP4ListIPNS0_5TokenEEDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl17type_expr__SimpleEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl19type_expr__CompoundEJDnP4ListIPNS0_11type_expr_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl15place_expr__VarEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9expr__VarEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11expr__ConstEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18expr__RegexLiteralEJDnDnP4ListIPNS0_5TokenEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12expr__LambdaEJP4ListIPNS0_9name_typeEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11expr__UnaryEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12expr__BinaryEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl6expr_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13expr__CompareEJDnP4ListIPNS0_5TokenEEPS2_IPNS0_6expr_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14expr__FuncCallEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11expr__IfExpEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11expr__TupleEJP4ListIPNS0_6expr_tEENS0_14expr_context_eEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10expr__ListEJP4ListIPNS0_6expr_tEENS0_14expr_context_eEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10expr__DictEJP4ListIPNS0_6expr_tEES6_EEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl13comprehensionEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14expr__ListCompEJDnP4ListIPNS0_13comprehensionEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14expr__DictCompEJDnDnP4ListIPNS0_13comprehensionEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl18expr__GeneratorExpEJDnP4ListIPNS0_13comprehensionEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11expr__RangeEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11expr__SliceEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12expr__SpreadEJDnNS0_14expr_context_eEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl25class_literal_term__RangeEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl31class_literal_term__CharLiteralEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl22char_class_term__RangeEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13re_repeat__OpEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14re_repeat__NumEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16re_repeat__RangeEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl20class_literal_term_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl20re__CharClassLiteralEJbP4ListIPNS0_20class_literal_term_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl17char_class_term_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13re__CharClassEJbP4ListIPNS0_17char_class_term_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10re__SpliceEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10re__RepeatEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl4re_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl7re__SeqEJP4ListIPNS0_4re_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl7re__AltEJP4ListIPNS0_4re_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9re__GroupEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11re__CaptureEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16re__BacktrackingEJbDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13re__PrimitiveEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16re__LiteralCharsEJRP3StriEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12BoolOutParamEJbEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10SourceLineEJiRP3StrDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl5TokenEJiiiiDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14braced_var_subEJDnDnRP3StrDnDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13double_quotedEJDnP4ListIPNS0_11word_part_tEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13single_quotedEJDnP4ListIPNS0_5TokenEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl14simple_var_subEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11command_subEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl16sh_array_literalEJDnP4ListIPNS0_6word_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl9named_argEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl7ArgListEJDnP4ListIPNS0_6expr_tEEPS2_IPNS0_9named_argEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10assoc_pairEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13compound_wordEJP4ListIPNS0_11word_part_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11string_lineEJiP4ListIPNS0_11word_part_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl11string_lineEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13triple_quotedEJiP4ListIPNS0_11string_lineEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl5redirEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11assign_pairEJDnNS0_11assign_op_eEDnP4ListIiEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl8env_pairEJRP3StrDnP4ListIiEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl8case_armEJP4ListIPNS0_6word_tEEPS2_IPNS0_9command_tEEPS2_IiEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl6if_armEJDnP4ListIPNS0_9command_tEEPS2_IiEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10BraceGroupEJDnDnP4ListIPNS0_9command_tEEPS2_IPNS0_5redirEEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN11syntax_asdl10SourceLineEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl8BlockArgEJDnP4ListIPNS0_10SourceLineEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl7variantEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11import_nameEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl12UntypedParamEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10TypedParamEJDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl5paramEJDnDnDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9name_typeEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl13comprehensionEJP4ListIPNS0_9name_typeEEDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9named_argEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9subscriptEJDnP4ListIPNS0_6expr_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl9attributeEJDnDnDnNS0_14expr_context_eEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl11posix_classEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl10perl_classEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN11syntax_asdl8CharCodeEJibiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN10hnode_asdl5fieldEJP3StrRPNS0_12hnode__ArrayEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN10hnode_asdl15hnode__ExternalEJRPvEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl15cmd_value__ArgvEJP4ListIP3StrEPS2_IiEDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN12runtime_asdl10assign_argEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl17cmd_value__AssignEJiP4ListIP3StrEPS2_IiEPS2_IPNS0_10assign_argEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl18part_value__StringEJRP3StrbbEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl17part_value__ArrayEJP4ListIP3StrEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN12runtime_asdl12part_value_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl19part_value__ExtGlobEJP4ListIPNS0_12part_value_tEEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl10value__StrEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl10value__IntEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl20value__MaybeStrArrayEJP4ListIP3StrEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl17value__AssocArrayEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl11value__BoolEJbEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl12value__FloatEJdEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl12value__EggexEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl12value__BlockEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl10value__ObjEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl12a_index__StrEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl12a_index__IntEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl13lvalue__NamedEJRP3StriEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl15lvalue__IndexedEJRP3StriiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl13lvalue__KeyedEJRP3StrS4_iEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl16lvalue__ObjIndexEJDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl15lvalue__ObjAttrEJDnRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl18redirect_arg__PathEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl20redirect_arg__CopyFdEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl20redirect_arg__MoveFdEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl21redirect_arg__HereDocEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl17wait_status__ProcEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl21wait_status__PipelineEJP4ListIiEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl22wait_status__CancelledEJiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl15trace__ExternalEJP4ListIP3StrEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl10assign_argEJRP3StrDnbiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl10VTestPlaceEJRP3StrDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl11VarSubStateEJbbEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl4cellEJbbbDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl8redirectEJiiDnDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIPN12runtime_asdl7value_tEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl4ProcEJRP3StriDnDnP4ListIPNS0_7value_tEEbEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl11StatusArrayEJP4ListIiES4_EEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl13CommandStatusEJbbP4ListIiES4_bEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl8hay_nodeEJDnEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI17KeyboardInterruptJEEPT_DpOT0_
_Z5AllocI4ListIPN4pyos11PasswdEntryEEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN4pyos11PasswdEntryEJRP6passwdEEPT_DpOT0_
Line
Count
Source
87
75
T* Alloc(Args&&... args) {
88
75
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
75
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
75
  int obj_id = gHeap.UnusedObjectId();
95
75
#endif
96
97
75
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
75
#if MARK_SWEEP
100
  // Hack for now: find the header
101
75
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
75
  header->obj_id = obj_id;
103
75
#endif
104
75
  return obj;
105
75
}
_Z5AllocIN4pyos10SignalSafeEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocI6Tuple2IP3StriEJRS2_RlEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN6pyutil15_ResourceLoaderEJEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN9flag_spec16_FlagSpecAndMoreEJEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocIN9flag_spec9_FlagSpecEJEEPT_DpOT0_
Line
Count
Source
87
3
T* Alloc(Args&&... args) {
88
3
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
3
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
3
  int obj_id = gHeap.UnusedObjectId();
95
3
#endif
96
97
3
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
3
#if MARK_SWEEP
100
  // Hack for now: find the header
101
3
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
3
  header->obj_id = obj_id;
103
3
#endif
104
3
  return obj;
105
3
}
Unexecuted instantiation: _Z5AllocIN12runtime_asdl10value__StrEJRP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl11value__BoolEJbEEPT_DpOT0_
_Z5AllocIN12runtime_asdl11value__BoolEJRbEEPT_DpOT0_
Line
Count
Source
87
19
T* Alloc(Args&&... args) {
88
19
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
19
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
19
  int obj_id = gHeap.UnusedObjectId();
95
19
#endif
96
97
19
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
19
#if MARK_SWEEP
100
  // Hack for now: find the header
101
19
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
19
  header->obj_id = obj_id;
103
19
#endif
104
19
  return obj;
105
19
}
_Z5AllocIN12runtime_asdl10value__IntEJRiEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
Unexecuted instantiation: _Z5AllocIN12runtime_asdl12value__FloatEJRfEEPT_DpOT0_
_Z5AllocIN12runtime_asdl12value__UndefEJEEPT_DpOT0_
Line
Count
Source
87
7
T* Alloc(Args&&... args) {
88
7
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
7
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
7
  int obj_id = gHeap.UnusedObjectId();
95
7
#endif
96
97
7
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
7
#if MARK_SWEEP
100
  // Hack for now: find the header
101
7
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
7
  header->obj_id = obj_id;
103
7
#endif
104
7
  return obj;
105
7
}
_Z5AllocIN12runtime_asdl10value__StrEJP3StrEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
_Z5AllocIN4args11SetToStringEJP3StrbRP4ListIS3_EEEPT_DpOT0_
Line
Count
Source
87
5
T* Alloc(Args&&... args) {
88
5
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
5
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
5
  int obj_id = gHeap.UnusedObjectId();
95
5
#endif
96
97
5
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
5
#if MARK_SWEEP
100
  // Hack for now: find the header
101
5
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
5
  header->obj_id = obj_id;
103
5
#endif
104
5
  return obj;
105
5
}
_Z5AllocIN4args11SetToStringEJP3StrbDnEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
_Z5AllocIN4args8SetToIntEJP3StrEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
Unexecuted instantiation: _Z5AllocIN4args10SetToFloatEJP3StrEEPT_DpOT0_
_Z5AllocIN4args9SetToTrueEJP3StrEEPT_DpOT0_
Line
Count
Source
87
9
T* Alloc(Args&&... args) {
88
9
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
9
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
9
  int obj_id = gHeap.UnusedObjectId();
95
9
#endif
96
97
9
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
9
#if MARK_SWEEP
100
  // Hack for now: find the header
101
9
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
9
  header->obj_id = obj_id;
103
9
#endif
104
9
  return obj;
105
9
}
Unexecuted instantiation: _Z5AllocIN4args15SetAttachedBoolEJP3StrEEPT_DpOT0_
_Z5AllocIN4args9SetOptionEJP3StrEEPT_DpOT0_
Line
Count
Source
87
8
T* Alloc(Args&&... args) {
88
8
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
8
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
8
  int obj_id = gHeap.UnusedObjectId();
95
8
#endif
96
97
8
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
8
#if MARK_SWEEP
100
  // Hack for now: find the header
101
8
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
8
  header->obj_id = obj_id;
103
8
#endif
104
8
  return obj;
105
8
}
_Z5AllocIN4args14SetNamedOptionEJbEEPT_DpOT0_
Line
Count
Source
87
2
T* Alloc(Args&&... args) {
88
2
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
2
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
2
  int obj_id = gHeap.UnusedObjectId();
95
2
#endif
96
97
2
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
2
#if MARK_SWEEP
100
  // Hack for now: find the header
101
2
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
2
  header->obj_id = obj_id;
103
2
#endif
104
2
  return obj;
105
2
}
Unexecuted instantiation: _Z5AllocIN4args9SetActionEJP3StrEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN4args14SetNamedActionEJEEPT_DpOT0_
_Z5AllocI4DictIP3StrPN4args7_ActionEEJEEPT_DpOT0_
Line
Count
Source
87
6
T* Alloc(Args&&... args) {
88
6
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
6
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
6
  int obj_id = gHeap.UnusedObjectId();
95
6
#endif
96
97
6
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
6
#if MARK_SWEEP
100
  // Hack for now: find the header
101
6
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
6
  header->obj_id = obj_id;
103
6
#endif
104
6
  return obj;
105
6
}
_Z5AllocI4DictIP3StrPN12runtime_asdl7value_tEEJEEPT_DpOT0_
Line
Count
Source
87
3
T* Alloc(Args&&... args) {
88
3
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
3
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
3
  int obj_id = gHeap.UnusedObjectId();
95
3
#endif
96
97
3
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
3
#if MARK_SWEEP
100
  // Hack for now: find the header
101
3
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
3
  header->obj_id = obj_id;
103
3
#endif
104
3
  return obj;
105
3
}
Unexecuted instantiation: _Z5AllocIN4args6ReaderEJRP4ListIP3StrERPS2_IiEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN5error5UsageEJRP3StrRiEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN5error6StrictEJRP3StrRPN11syntax_asdl5loc_tEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN5error5ParseEJRP3StrRPN11syntax_asdl5loc_tEEEPT_DpOT0_
_Z5AllocIN5error12FatalRuntimeEJiRP3StrRPN11syntax_asdl5loc_tEEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
Unexecuted instantiation: _Z5AllocIN5error12FatalRuntimeEJRiRP3StrRPN11syntax_asdl5loc_tEEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI4ListIP6Tuple2IP3StrbEEJEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN12runtime_asdl12value__FloatEJRdEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocI6Tuple2IP3StrbEJRS2_RbEEPT_DpOT0_
Unexecuted instantiation: _Z5AllocIN4args11_AttributesEJRP4DictIP3StrPN12runtime_asdl7value_tEEEEPT_DpOT0_
_Z5AllocIN5match11SimpleLexerEJPFvPKhiiPiS4_ERP3StrEEPT_DpOT0_
Line
Count
Source
87
4
T* Alloc(Args&&... args) {
88
4
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
4
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
4
  int obj_id = gHeap.UnusedObjectId();
95
4
#endif
96
97
4
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
4
#if MARK_SWEEP
100
  // Hack for now: find the header
101
4
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
4
  header->obj_id = obj_id;
103
4
#endif
104
4
  return obj;
105
4
}
Unexecuted instantiation: _Z5AllocI12RuntimeErrorJP3StrEEPT_DpOT0_
_Z5AllocIN11syntax_asdl9loc__WordEJRPNS0_6word_tEEEPT_DpOT0_
Line
Count
Source
87
1
T* Alloc(Args&&... args) {
88
1
  DCHECK(gHeap.is_initialized_);
89
90
0
  void* place = gHeap.Allocate(sizeof(T));
91
1
#if MARK_SWEEP
92
  // IMPORTANT: save the object ID before calling placement new, which can
93
  // invoke Allocate() again!
94
1
  int obj_id = gHeap.UnusedObjectId();
95
1
#endif
96
97
1
  T* obj = new (place) T(std::forward<Args>(args)...);
98
99
1
#if MARK_SWEEP
100
  // Hack for now: find the header
101
1
  ObjHeader* header = FindObjHeader(reinterpret_cast<RawObject*>(obj));
102
1
  header->obj_id = obj_id;
103
1
#endif
104
1
  return obj;
105
1
}
106
107
//
108
// String "Constructors".  We need these because of the "flexible array"
109
// pattern.  I don't think "new Str()" can do that, and placement new would
110
// require mycpp to generate 2 statements everywhere.
111
//
112
113
5.64k
inline Str* NewStr(int len) {
114
5.64k
  if (len == 0) {  // e.g. BufLineReader::readline() can use this optimization
115
380
    return kEmptyString;
116
380
  }
117
118
5.26k
  int obj_len = kStrHeaderSize + len + 1;
119
120
  // only allocation is unconditionally returned
121
5.26k
  void* place = gHeap.Allocate(obj_len);
122
123
5.26k
  auto s = new (place) Str();
124
5.26k
#if defined(MARK_SWEEP) || defined(BUMP_LEAK)
125
5.26k
  s->len_ = len;
126
#else
127
  // reversed in len() to derive string length
128
  s->header_.obj_len = kStrHeaderSize + len + 1;
129
#endif
130
131
5.26k
#if MARK_SWEEP
132
5.26k
  s->header_.obj_id = gHeap.UnusedObjectId();
133
5.26k
#endif
134
5.26k
  return s;
135
5.64k
}
136
137
// Call OverAllocatedStr() when you don't know the length of the string up
138
// front, e.g. with snprintf().  CALLER IS RESPONSIBLE for calling
139
// s->MaybeShrink() afterward!
140
102
inline Str* OverAllocatedStr(int len) {
141
102
  int obj_len = kStrHeaderSize + len + 1;  // NUL terminator
142
102
  void* place = gHeap.Allocate(obj_len);
143
102
  auto s = new (place) Str();
144
102
#if MARK_SWEEP
145
102
  s->header_.obj_id = gHeap.UnusedObjectId();
146
102
#endif
147
102
  return s;
148
102
}
149
150
// Copy C string into the managed heap.
151
2.86k
inline Str* StrFromC(const char* data, int len) {
152
  // Optimization that could be taken out once we have SmallStr
153
2.86k
  if (len == 0) {
154
162
    return kEmptyString;
155
162
  }
156
2.70k
  Str* s = NewStr(len);
157
2.70k
  memcpy(s->data_, data, len);
158
2.70k
  DCHECK(s->data_[len] == '\0');  // should be true because Heap was zeroed
159
160
0
  return s;
161
2.86k
}
162
163
1.57k
inline Str* StrFromC(const char* data) {
164
1.57k
  return StrFromC(data, strlen(data));
165
1.57k
}
166
167
// Create a slab with a number of entries of a certain type.
168
// Note: entries will be zero'd because we use calloc().  TODO: Consider
169
// zeroing them separately.
170
template <typename T>
171
1.17k
inline Slab<T>* NewSlab(int len) {
172
1.17k
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
1.17k
  void* place = gHeap.Allocate(obj_len);
174
1.17k
  auto slab = new (place) Slab<T>(len);  // placement new
175
1.17k
#if MARK_SWEEP
176
1.17k
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
1.17k
#endif
178
1.17k
  return slab;
179
1.17k
}
_Z7NewSlabIP3StrEP4SlabIT_Ei
Line
Count
Source
171
257
inline Slab<T>* NewSlab(int len) {
172
257
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
257
  void* place = gHeap.Allocate(obj_len);
174
257
  auto slab = new (place) Slab<T>(len);  // placement new
175
257
#if MARK_SWEEP
176
257
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
257
#endif
178
257
  return slab;
179
257
}
_Z7NewSlabIiEP4SlabIT_Ei
Line
Count
Source
171
838
inline Slab<T>* NewSlab(int len) {
172
838
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
838
  void* place = gHeap.Allocate(obj_len);
174
838
  auto slab = new (place) Slab<T>(len);  // placement new
175
838
#if MARK_SWEEP
176
838
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
838
#endif
178
838
  return slab;
179
838
}
Unexecuted instantiation: _Z7NewSlabIPN10classes_gc10OpaqueBaseEEP4SlabIT_Ei
Unexecuted instantiation: _Z7NewSlabIPN10classes_gc12PointersBaseEEP4SlabIT_Ei
Unexecuted instantiation: _Z7NewSlabIPN10classes_gc14BaseWithMethodEEP4SlabIT_Ei
_Z7NewSlabIP6Tuple2IiP3StrEEP4SlabIT_Ei
Line
Count
Source
171
9
inline Slab<T>* NewSlab(int len) {
172
9
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
9
  void* place = gHeap.Allocate(obj_len);
174
9
  auto slab = new (place) Slab<T>(len);  // placement new
175
9
#if MARK_SWEEP
176
9
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
9
#endif
178
9
  return slab;
179
9
}
_Z7NewSlabIP6Tuple2IP3StriEEP4SlabIT_Ei
Line
Count
Source
171
3
inline Slab<T>* NewSlab(int len) {
172
3
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
3
  void* place = gHeap.Allocate(obj_len);
174
3
  auto slab = new (place) Slab<T>(len);  // placement new
175
3
#if MARK_SWEEP
176
3
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
3
#endif
178
3
  return slab;
179
3
}
_Z7NewSlabIPN10hnode_asdl5fieldEEP4SlabIT_Ei
Line
Count
Source
171
37
inline Slab<T>* NewSlab(int len) {
172
37
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
37
  void* place = gHeap.Allocate(obj_len);
174
37
  auto slab = new (place) Slab<T>(len);  // placement new
175
37
#if MARK_SWEEP
176
37
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
37
#endif
178
37
  return slab;
179
37
}
_Z7NewSlabIbEP4SlabIT_Ei
Line
Count
Source
171
3
inline Slab<T>* NewSlab(int len) {
172
3
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
3
  void* place = gHeap.Allocate(obj_len);
174
3
  auto slab = new (place) Slab<T>(len);  // placement new
175
3
#if MARK_SWEEP
176
3
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
3
#endif
178
3
  return slab;
179
3
}
_Z7NewSlabIP6Tuple2IiiEEP4SlabIT_Ei
Line
Count
Source
171
6
inline Slab<T>* NewSlab(int len) {
172
6
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
6
  void* place = gHeap.Allocate(obj_len);
174
6
  auto slab = new (place) Slab<T>(len);  // placement new
175
6
#if MARK_SWEEP
176
6
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
6
#endif
178
6
  return slab;
179
6
}
_Z7NewSlabIdEP4SlabIT_Ei
Line
Count
Source
171
2
inline Slab<T>* NewSlab(int len) {
172
2
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
2
  void* place = gHeap.Allocate(obj_len);
174
2
  auto slab = new (place) Slab<T>(len);  // placement new
175
2
#if MARK_SWEEP
176
2
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
2
#endif
178
2
  return slab;
179
2
}
Unexecuted instantiation: _Z7NewSlabIPN10hnode_asdl7hnode_tEEP4SlabIT_Ei
_Z7NewSlabIPN4pyos11PasswdEntryEEP4SlabIT_Ei
Line
Count
Source
171
6
inline Slab<T>* NewSlab(int len) {
172
6
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
6
  void* place = gHeap.Allocate(obj_len);
174
6
  auto slab = new (place) Slab<T>(len);  // placement new
175
6
#if MARK_SWEEP
176
6
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
6
#endif
178
6
  return slab;
179
6
}
_Z7NewSlabIPN12runtime_asdl7value_tEEP4SlabIT_Ei
Line
Count
Source
171
9
inline Slab<T>* NewSlab(int len) {
172
9
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
9
  void* place = gHeap.Allocate(obj_len);
174
9
  auto slab = new (place) Slab<T>(len);  // placement new
175
9
#if MARK_SWEEP
176
9
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
9
#endif
178
9
  return slab;
179
9
}
_Z7NewSlabIPN4args7_ActionEEP4SlabIT_Ei
Line
Count
Source
171
6
inline Slab<T>* NewSlab(int len) {
172
6
  int obj_len = RoundUp(kSlabHeaderSize + len * sizeof(T));
173
6
  void* place = gHeap.Allocate(obj_len);
174
6
  auto slab = new (place) Slab<T>(len);  // placement new
175
6
#if MARK_SWEEP
176
6
  slab->header_.obj_id = gHeap.UnusedObjectId();
177
6
#endif
178
6
  return slab;
179
6
}
Unexecuted instantiation: _Z7NewSlabIP6Tuple2IP3StrbEEP4SlabIT_Ei
180
181
#endif  // MYCPP_GC_ALLOC_H