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:
parent
1f323437df
commit
279f32e042
|
@ -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;
|
||||||
|
|
|
@ -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; \
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue