util/u_debug: Use 'initialized' instead of 'first'

Using 'initialized' to guard the one-time init, means it can be set to
false as part of .bss instead setting 'first' to true in .data.  This
is more efficient and works at .ctor time.

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16952>
This commit is contained in:
Kristian H. Kristensen 2022-06-09 14:11:44 -04:00 committed by Marge Bot
parent 1f323437df
commit 279f32e042
3 changed files with 21 additions and 21 deletions

View File

@ -121,16 +121,16 @@ debug_print_blob(const char *name, const void *blob, unsigned size)
static bool static bool
debug_get_option_should_print(void) debug_get_option_should_print(void)
{ {
static bool first = true; static bool initialized = false;
static bool value = false; static bool value = false;
if (!first) if (initialized)
return value; return value;
/* Oh hey this will call into this function, /* Oh hey this will call into this function,
* but its cool since we set first to false * but its cool since we set first to false
*/ */
first = false; initialized = true;
value = debug_get_bool_option("GALLIUM_PRINT_OPTIONS", false); value = debug_get_bool_option("GALLIUM_PRINT_OPTIONS", false);
/* XXX should we print this option? Currently it wont */ /* XXX should we print this option? Currently it wont */
return value; return value;

View File

@ -449,10 +449,10 @@ debug_get_flags_option(const char *name,
static const char * \ static const char * \
debug_get_option_ ## suffix (void) \ debug_get_option_ ## suffix (void) \
{ \ { \
static bool first = true; \ static bool initialized = false; \
static const char * value; \ static const char * value; \
if (first) { \ if (!initialized) { \
first = false; \ initialized = true; \
value = debug_get_option(name, dfault); \ value = debug_get_option(name, dfault); \
} \ } \
return value; \ return value; \
@ -478,12 +478,12 @@ __check_suid(void)
static FILE * \ static FILE * \
debug_get_option_ ## suffix (void) \ debug_get_option_ ## suffix (void) \
{ \ { \
static bool first = true; \ static bool initialized = false; \
static const char * value; \ static const char * value; \
if (__check_suid()) \ if (__check_suid()) \
return NULL; \ return NULL; \
if (first) { \ if (!initialized) { \
first = false; \ initialized = true; \
value = debug_get_option(name, dfault); \ value = debug_get_option(name, dfault); \
} \ } \
if (!value) \ if (!value) \
@ -495,10 +495,10 @@ debug_get_option_ ## suffix (void) \
static bool \ static bool \
debug_get_option_ ## sufix (void) \ debug_get_option_ ## sufix (void) \
{ \ { \
static bool first = true; \ static bool initialized = false; \
static bool value; \ static bool value; \
if (first) { \ if (!initialized) { \
first = false; \ initialized = true; \
value = debug_get_bool_option(name, dfault); \ value = debug_get_bool_option(name, dfault); \
} \ } \
return value; \ return value; \
@ -508,10 +508,10 @@ debug_get_option_ ## sufix (void) \
static long \ static long \
debug_get_option_ ## sufix (void) \ debug_get_option_ ## sufix (void) \
{ \ { \
static bool first = true; \ static bool initialized = false; \
static long value; \ static long value; \
if (first) { \ if (!initialized) { \
first = false; \ initialized = true; \
value = debug_get_num_option(name, dfault); \ value = debug_get_num_option(name, dfault); \
} \ } \
return value; \ return value; \
@ -521,10 +521,10 @@ debug_get_option_ ## sufix (void) \
static unsigned long \ static unsigned long \
debug_get_option_ ## sufix (void) \ debug_get_option_ ## sufix (void) \
{ \ { \
static bool first = true; \ static bool initialized = false; \
static unsigned long value; \ static unsigned long value; \
if (first) { \ if (!initialized) { \
first = false; \ initialized = true; \
value = debug_get_flags_option(name, flags, dfault); \ value = debug_get_flags_option(name, flags, dfault); \
} \ } \
return value; \ return value; \

View File

@ -301,11 +301,11 @@ static mtx_t backtrace_mutex;
static void static void
initialize_backtrace_mutex() initialize_backtrace_mutex()
{ {
static bool first = true; static bool initialized = false;
if (first) { if (!initialized) {
(void)mtx_init(&backtrace_mutex, mtx_plain); (void)mtx_init(&backtrace_mutex, mtx_plain);
first = false; initialized = true;
} }
} }