@@ -47,6 +47,8 @@ extern "C" {
4747 _Py_atomic_load_uint16_relaxed(&value)
4848#define FT_ATOMIC_LOAD_UINT32_RELAXED (value ) \
4949 _Py_atomic_load_uint32_relaxed(&value)
50+ #define FT_ATOMIC_LOAD_UINT64_RELAXED (value ) \
51+ _Py_atomic_load_uint64_relaxed(&value)
5052#define FT_ATOMIC_LOAD_ULONG_RELAXED (value ) \
5153 _Py_atomic_load_ulong_relaxed(&value)
5254#define FT_ATOMIC_STORE_PTR_RELAXED (value , new_value ) \
@@ -63,6 +65,12 @@ extern "C" {
6365 _Py_atomic_store_uint16_relaxed(&value, new_value)
6466#define FT_ATOMIC_STORE_UINT32_RELAXED (value , new_value ) \
6567 _Py_atomic_store_uint32_relaxed(&value, new_value)
68+ #define FT_ATOMIC_AND_UINT64 (value , new_value ) \
69+ (void)_Py_atomic_and_uint64(&value, new_value)
70+ #define FT_ATOMIC_OR_UINT64 (value , new_value ) \
71+ (void)_Py_atomic_or_uint64(&value, new_value)
72+ #define FT_ATOMIC_ADD_UINT64 (value , new_value ) \
73+ (void)_Py_atomic_add_uint64(&value, new_value)
6674#define FT_ATOMIC_STORE_CHAR_RELAXED (value , new_value ) \
6775 _Py_atomic_store_char_relaxed(&value, new_value)
6876#define FT_ATOMIC_LOAD_CHAR_RELAXED (value ) \
@@ -139,6 +147,7 @@ extern "C" {
139147#define FT_ATOMIC_LOAD_UINT8_RELAXED (value ) value
140148#define FT_ATOMIC_LOAD_UINT16_RELAXED (value ) value
141149#define FT_ATOMIC_LOAD_UINT32_RELAXED (value ) value
150+ #define FT_ATOMIC_LOAD_UINT64_RELAXED (value ) value
142151#define FT_ATOMIC_LOAD_ULONG_RELAXED (value ) value
143152#define FT_ATOMIC_STORE_PTR_RELAXED (value , new_value ) value = new_value
144153#define FT_ATOMIC_STORE_PTR_RELEASE (value , new_value ) value = new_value
@@ -148,6 +157,9 @@ extern "C" {
148157#define FT_ATOMIC_STORE_UINT8_RELAXED (value , new_value ) value = new_value
149158#define FT_ATOMIC_STORE_UINT16_RELAXED (value , new_value ) value = new_value
150159#define FT_ATOMIC_STORE_UINT32_RELAXED (value , new_value ) value = new_value
160+ #define FT_ATOMIC_AND_UINT64 (value , new_value ) (void)(value &= new_value)
161+ #define FT_ATOMIC_OR_UINT64 (value , new_value ) (void)(value |= new_value)
162+ #define FT_ATOMIC_ADD_UINT64 (value , new_value ) (void)(value += new_value)
151163#define FT_ATOMIC_LOAD_CHAR_RELAXED (value ) value
152164#define FT_ATOMIC_STORE_CHAR_RELAXED (value , new_value ) value = new_value
153165#define FT_ATOMIC_LOAD_UCHAR_RELAXED (value ) value
0 commit comments