gallium: Switch u_debug_stack/symbol.c to util/hash_table.h
authorKristian H. Kristensen <hoegsberg@google.com>
Wed, 29 Jul 2020 05:52:46 +0000 (22:52 -0700)
committerMarge Bot <eric+marge@anholt.net>
Wed, 5 Aug 2020 18:08:06 +0000 (18:08 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6112>

src/gallium/auxiliary/util/u_debug_stack.c
src/gallium/auxiliary/util/u_debug_symbol.c

index a1e7b27f63d6bc352907cbecb1011da8874c97aa..21f0371d3c13f99466566ed5fd9bf6c70ba76e38 100644 (file)
@@ -45,7 +45,7 @@
 #include <dlfcn.h>
 
 #include "os/os_thread.h"
-#include "u_hash_table.h"
+#include "util/hash_table.h"
 
 static struct hash_table* symbols_hash;
 static mtx_t symbols_mutex = _MTX_INITIALIZER_NP;
@@ -62,10 +62,9 @@ symbol_name_cached(unw_cursor_t *cursor, unw_proc_info_t *pip)
 
    mtx_lock(&symbols_mutex);
    if(!symbols_hash)
-      symbols_hash = util_hash_table_create_ptr_keys();
-   name = util_hash_table_get(symbols_hash, addr);
-   if(!name)
-   {
+      symbols_hash = _mesa_pointer_hash_table_create(NULL);
+   struct hash_entry *entry = _mesa_hash_table_search(symbols_hash, addr);
+   if (!entry) {
       char procname[256];
       unw_word_t off;
       int ret;
@@ -78,11 +77,11 @@ symbol_name_cached(unw_cursor_t *cursor, unw_proc_info_t *pip)
 
       if (asprintf(&name, "%s%s", procname, ret == -UNW_ENOMEM ? "..." : "") == -1) 
          name = "??";
-      _mesa_hash_table_insert(symbols_hash, addr, (void*)name);
+      entry = _mesa_hash_table_insert(symbols_hash, addr, (void*)name);
    }
    mtx_unlock(&symbols_mutex);
 
-   return name;
+   return entry->data;
 }
 
 void
index d6471928a9d9a65bf2afdeb8c7215b7fb10ad96c..73225e9e49544ed443c7696f1c5da2099f633207 100644 (file)
@@ -38,7 +38,7 @@
 
 #include "util/u_debug.h"
 #include "u_debug_symbol.h"
-#include "u_hash_table.h"
+#include "util/hash_table.h"
 
 
 #if defined(PIPE_OS_WINDOWS)
@@ -292,16 +292,15 @@ debug_symbol_name_cached(const void *addr)
 
    mtx_lock(&symbols_mutex);
    if(!symbols_hash)
-      symbols_hash = util_hash_table_create_ptr_keys();
-   name = util_hash_table_get(symbols_hash, (void*)addr);
-   if(!name)
-   {
+      symbols_hash = _mesa_pointer_hash_table_create(NULL);
+   struct hash_entry *entry = _mesa_hash_table_search(symbols_hash, addr);
+   if (!entry) {
       char buf[1024];
       debug_symbol_name(addr, buf, sizeof(buf));
       name = strdup(buf);
 
-      _mesa_hash_table_insert(symbols_hash, (void*)addr, (void*)name);
+      entry = _mesa_hash_table_insert(symbols_hash, addr, (void*)name);
    }
    mtx_unlock(&symbols_mutex);
-   return name;
+   return entry->data;
 }