Home | History | Annotate | Download | only in xray

Lines Matching defs:symtab

110 int XRaySymbolTableGetCount(struct XRaySymbolTable* symtab) {
111 return XRayHashTableGetCount(symtab->hash_table);
115 struct XRaySymbol* XRaySymbolTableAtIndex(struct XRaySymbolTable* symtab,
117 return (struct XRaySymbol*)XRayHashTableAtIndex(symtab->hash_table, i);
120 struct XRaySymbol* XRaySymbolTableAdd(struct XRaySymbolTable* symtab,
124 XRayHashTableInsert(symtab->hash_table, symbol, addr);
125 symtab->num_symbols = XRayHashTableGetCount(symtab->hash_table);
129 struct XRaySymbol* XRaySymbolTableAddByName(struct XRaySymbolTable* symtab,
136 recorded_name = XRayStringPoolAppend(symtab->string_pool, demangled_name);
140 symbol = XRaySymbolCreate(symtab->symbol_pool, recorded_name);
141 return XRaySymbolTableAdd(symtab, symbol, addr);
144 struct XRaySymbol* XRaySymbolTableLookup(struct XRaySymbolTable* symtab,
146 void *x = XRayHashTableLookup(symtab->hash_table, addr);
156 struct XRaySymbol* symbol = XRaySymbolCreate(symtab->symbol_pool, name);
157 r = XRaySymbolTableAdd(symtab, symbol, addr);
166 r = XRaySymbolTableAddByName(symtab, info.dli_sname, addr);
174 int XRaySymbolCount(struct XRaySymbolTable* symtab) {
175 return symtab->num_symbols;
181 struct XRaySymbolTable* symtab;
182 symtab = (struct XRaySymbolTable*)XRayMalloc(sizeof(*symtab));
183 symtab->num_symbols = 0;
184 symtab->string_pool = XRayStringPoolCreate();
185 symtab->hash_table = XRayHashTableCreate(size);
186 symtab->symbol_pool = XRaySymbolPoolCreate();
187 return symtab;
192 void XRaySymbolTableFree(struct XRaySymbolTable* symtab) {
193 XRayStringPoolFree(symtab->string_pool);
194 XRaySymbolPoolFree(symtab->symbol_pool);
195 XRayHashTableFree(symtab->hash_table);
196 symtab->num_symbols = 0;
197 XRayFree(symtab);