mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-07-21 10:24:33 +00:00
meson: do not use set10
Make all items of config-host.h consistent. To keep the --disable-coroutine-pool code visible to the compiler, mutuate the IS_ENABLED() macro from Linux. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
9bad39c7e8
commit
230f6e06b8
|
@ -212,4 +212,19 @@
|
||||||
# define QEMU_USED
|
# define QEMU_USED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ugly CPP trick that is like "defined FOO", but also works in C
|
||||||
|
* code. Useful to replace #ifdef with "if" statements; assumes
|
||||||
|
* the symbol was defined with Meson's "config.set()", so it is empty
|
||||||
|
* if defined.
|
||||||
|
*/
|
||||||
|
#define IS_ENABLED(x) IS_EMPTY(x)
|
||||||
|
|
||||||
|
#define IS_EMPTY_JUNK_ junk,
|
||||||
|
#define IS_EMPTY(value) IS_EMPTY_(IS_EMPTY_JUNK_##value)
|
||||||
|
|
||||||
|
/* Expands to either SECOND_ARG(junk, 1, 0) or SECOND_ARG(IS_EMPTY_JUNK_CONFIG_FOO 1, 0) */
|
||||||
|
#define SECOND_ARG(first, second, ...) second
|
||||||
|
#define IS_EMPTY_(junk_maybecomma) SECOND_ARG(junk_maybecomma 1, 0)
|
||||||
|
|
||||||
#endif /* COMPILER_H */
|
#endif /* COMPILER_H */
|
||||||
|
|
|
@ -2194,7 +2194,7 @@ if get_option('debug_stack_usage') and have_coroutine_pool
|
||||||
message('Disabling coroutine pool to measure stack usage')
|
message('Disabling coroutine pool to measure stack usage')
|
||||||
have_coroutine_pool = false
|
have_coroutine_pool = false
|
||||||
endif
|
endif
|
||||||
config_host_data.set10('CONFIG_COROUTINE_POOL', have_coroutine_pool)
|
config_host_data.set('CONFIG_COROUTINE_POOL', have_coroutine_pool)
|
||||||
config_host_data.set('CONFIG_DEBUG_GRAPH_LOCK', get_option('debug_graph_lock'))
|
config_host_data.set('CONFIG_DEBUG_GRAPH_LOCK', get_option('debug_graph_lock'))
|
||||||
config_host_data.set('CONFIG_DEBUG_MUTEX', get_option('debug_mutex'))
|
config_host_data.set('CONFIG_DEBUG_MUTEX', get_option('debug_mutex'))
|
||||||
config_host_data.set('CONFIG_DEBUG_STACK_USAGE', get_option('debug_stack_usage'))
|
config_host_data.set('CONFIG_DEBUG_STACK_USAGE', get_option('debug_stack_usage'))
|
||||||
|
|
|
@ -645,7 +645,7 @@ int main(int argc, char **argv)
|
||||||
* with a sentinel value. If there is no freelist this would legitimately
|
* with a sentinel value. If there is no freelist this would legitimately
|
||||||
* crash, so skip it.
|
* crash, so skip it.
|
||||||
*/
|
*/
|
||||||
if (CONFIG_COROUTINE_POOL) {
|
if (IS_ENABLED(CONFIG_COROUTINE_POOL)) {
|
||||||
g_test_add_func("/basic/no-dangling-access", test_no_dangling_access);
|
g_test_add_func("/basic/no-dangling-access", test_no_dangling_access);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ Coroutine *qemu_coroutine_create(CoroutineEntry *entry, void *opaque)
|
||||||
{
|
{
|
||||||
Coroutine *co = NULL;
|
Coroutine *co = NULL;
|
||||||
|
|
||||||
if (CONFIG_COROUTINE_POOL) {
|
if (IS_ENABLED(CONFIG_COROUTINE_POOL)) {
|
||||||
CoroutineQSList *alloc_pool = get_ptr_alloc_pool();
|
CoroutineQSList *alloc_pool = get_ptr_alloc_pool();
|
||||||
|
|
||||||
co = QSLIST_FIRST(alloc_pool);
|
co = QSLIST_FIRST(alloc_pool);
|
||||||
|
@ -99,7 +99,7 @@ static void coroutine_delete(Coroutine *co)
|
||||||
{
|
{
|
||||||
co->caller = NULL;
|
co->caller = NULL;
|
||||||
|
|
||||||
if (CONFIG_COROUTINE_POOL) {
|
if (IS_ENABLED(CONFIG_COROUTINE_POOL)) {
|
||||||
if (release_pool_size < qatomic_read(&pool_max_size) * 2) {
|
if (release_pool_size < qatomic_read(&pool_max_size) * 2) {
|
||||||
QSLIST_INSERT_HEAD_ATOMIC(&release_pool, co, pool_next);
|
QSLIST_INSERT_HEAD_ATOMIC(&release_pool, co, pool_next);
|
||||||
qatomic_inc(&release_pool_size);
|
qatomic_inc(&release_pool_size);
|
||||||
|
|
Loading…
Reference in a new issue