Lines Matching refs:dbg
51 __libdw_alloc_tail (Dwarf *dbg) in __libdw_alloc_tail() argument
56 pthread_rwlock_rdlock (&dbg->mem_rwl); in __libdw_alloc_tail()
57 if (thread_id >= dbg->mem_stacks) in __libdw_alloc_tail()
59 pthread_rwlock_unlock (&dbg->mem_rwl); in __libdw_alloc_tail()
60 pthread_rwlock_wrlock (&dbg->mem_rwl); in __libdw_alloc_tail()
65 if (thread_id >= dbg->mem_stacks) in __libdw_alloc_tail()
67 dbg->mem_tails = realloc (dbg->mem_tails, (thread_id+1) in __libdw_alloc_tail()
69 if (dbg->mem_tails == NULL) in __libdw_alloc_tail()
71 pthread_rwlock_unlock (&dbg->mem_rwl); in __libdw_alloc_tail()
72 dbg->oom_handler(); in __libdw_alloc_tail()
74 for (size_t i = dbg->mem_stacks; i <= thread_id; i++) in __libdw_alloc_tail()
75 dbg->mem_tails[i] = NULL; in __libdw_alloc_tail()
76 dbg->mem_stacks = thread_id + 1; in __libdw_alloc_tail()
77 ANNOTATE_HAPPENS_BEFORE (&dbg->mem_tails); in __libdw_alloc_tail()
80 pthread_rwlock_unlock (&dbg->mem_rwl); in __libdw_alloc_tail()
81 pthread_rwlock_rdlock (&dbg->mem_rwl); in __libdw_alloc_tail()
85 ANNOTATE_HAPPENS_AFTER (&dbg->mem_tails); in __libdw_alloc_tail()
86 struct libdw_memblock *result = dbg->mem_tails[thread_id]; in __libdw_alloc_tail()
89 result = malloc (dbg->mem_default_size); in __libdw_alloc_tail()
90 result->size = dbg->mem_default_size in __libdw_alloc_tail()
94 dbg->mem_tails[thread_id] = result; in __libdw_alloc_tail()
96 pthread_rwlock_unlock (&dbg->mem_rwl); in __libdw_alloc_tail()
103 __libdw_thread_tail (Dwarf *dbg) in __libdw_thread_tail() argument
106 pthread_rwlock_rdlock (&dbg->mem_rwl); in __libdw_thread_tail()
107 result = dbg->mem_tails[thread_id]; in __libdw_thread_tail()
108 pthread_rwlock_unlock (&dbg->mem_rwl); in __libdw_thread_tail()
113 __libdw_allocate (Dwarf *dbg, size_t minsize, size_t align) in __libdw_allocate() argument
115 size_t size = MAX (dbg->mem_default_size, in __libdw_allocate()
120 dbg->oom_handler (); in __libdw_allocate()
127 pthread_rwlock_rdlock (&dbg->mem_rwl); in __libdw_allocate()
128 newp->prev = dbg->mem_tails[thread_id]; in __libdw_allocate()
129 dbg->mem_tails[thread_id] = newp; in __libdw_allocate()
130 pthread_rwlock_unlock (&dbg->mem_rwl); in __libdw_allocate()
137 dwarf_new_oom_handler (Dwarf *dbg, Dwarf_OOM handler) in dwarf_new_oom_handler() argument
139 Dwarf_OOM old = dbg->oom_handler; in dwarf_new_oom_handler()
140 dbg->oom_handler = handler; in dwarf_new_oom_handler()