|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
🔍 Symbol resolution cache: llvm-symbolizer/addr2line wrapper with hashtable-backed caching More...
Go to the source code of this file.
Data Structures | |
| struct | symbol_entry_t |
| Symbol cache entry structure for address-to-symbol mapping. More... | |
Macros | |
| #define | LLVM_SYMBOLIZER_BIN "llvm-symbolizer" |
| #define | ADDR2LINE_BIN "addr2line" |
| #define | NULL_SENTINEL "[NULL]" |
Enumerations | |
| enum | symbolizer_type_t { SYMBOLIZER_NONE = 0 , SYMBOLIZER_LLVM = 1 , SYMBOLIZER_ADDR2LINE = 2 } |
Functions | |
| asciichat_error_t | symbol_cache_init (void) |
| void | symbol_cache_destroy (void) |
| const char * | symbol_cache_lookup (void *addr) |
| bool | symbol_cache_insert (void *addr, const char *symbol) |
| void | symbol_cache_get_stats (uint64_t *hits_out, uint64_t *misses_out, size_t *entries_out) |
| void | symbol_cache_print_stats (void) |
| char ** | symbol_cache_resolve_batch (void *const *buffer, int size) |
| void | symbol_cache_free_symbols (char **symbols) |
🔍 Symbol resolution cache: llvm-symbolizer/addr2line wrapper with hashtable-backed caching
Definition in file symbols.c.
| enum symbolizer_type_t |
| Enumerator | |
|---|---|
| SYMBOLIZER_NONE | |
| SYMBOLIZER_LLVM | |
| SYMBOLIZER_ADDR2LINE | |
Definition at line 49 of file symbols.c.
| void symbol_cache_destroy | ( | void | ) |
Definition at line 292 of file symbols.c.
References symbol_entry_t::symbol.
Referenced by server_main().
| void symbol_cache_free_symbols | ( | char ** | symbols | ) |
Definition at line 921 of file symbols.c.
| void symbol_cache_get_stats | ( | uint64_t * | hits_out, |
| uint64_t * | misses_out, | ||
| size_t * | entries_out | ||
| ) |
Definition at line 412 of file symbols.c.
| asciichat_error_t symbol_cache_init | ( | void | ) |
Definition at line 264 of file symbols.c.
References rwlock_init().
| bool symbol_cache_insert | ( | void * | addr, |
| const char * | symbol | ||
| ) |
Definition at line 354 of file symbols.c.
References symbol_entry_t::addr, platform_strdup(), and symbol_entry_t::symbol.
Referenced by symbol_cache_resolve_batch().
| const char * symbol_cache_lookup | ( | void * | addr | ) |
Definition at line 331 of file symbols.c.
References platform_strdup(), and symbol_entry_t::symbol.
Referenced by symbol_cache_resolve_batch().
| void symbol_cache_print_stats | ( | void | ) |
Definition at line 426 of file symbols.c.
| char ** symbol_cache_resolve_batch | ( | void *const * | buffer, |
| int | size | ||
| ) |
Definition at line 804 of file symbols.c.
References NULL_SENTINEL, platform_strdup(), symbol_cache_insert(), symbol_cache_lookup(), SYMBOLIZER_ADDR2LINE, SYMBOLIZER_LLVM, and SYMBOLIZER_NONE.