mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2024-11-26 15:32:05 +00:00
0f4edf9735
We have observed a significant performance degradation after merging https://github.com/bytecodealliance/wasm-micro-runtime/pull/1991 Instead of protecting suspend flags with a mutex, we implement the flags as atomic variable and only use mutex when atomics are not available on a given platform.
15 lines
568 B
C
15 lines
568 B
C
/*
|
|
* Copyright (C) 2023 Amazon.com, Inc. or its affiliates. All rights reserved.
|
|
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
*/
|
|
|
|
#if !defined(__GNUC_PREREQ) && (defined(__GNUC__) || defined(__GNUG__)) \
|
|
&& !defined(__clang__) && defined(__GNUC_MINOR__)
|
|
/* Depending on the platform the macro is defined in sys/features.h or
|
|
features.h Given the macro is simple, we re-implement it here instead of
|
|
dealing with two different paths.
|
|
*/
|
|
#define __GNUC_PREREQ(maj, min) \
|
|
((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
|
|
#endif
|