libcxx: add comment explaining why umtx is only used for 64bits

Requested by:	imp
Reviewed by:	arichardson, emaste
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D38178
This commit is contained in:
Konstantin Belousov 2023-01-24 17:36:24 +02:00
parent 25b18d8935
commit 4c4a29267c

View File

@ -78,6 +78,11 @@ static void __libcpp_platform_wake_by_address(__cxx_atomic_contention_t const vo
}
#elif defined(__FreeBSD__) && __SIZEOF_LONG__ == 8
/*
* Since __cxx_contention_t is int64_t even on 32bit FreeBSD
* platforms, we have to use umtx ops that work on the long type, and
* limit its use to architectures where long and int64_t are synonyms.
*/
static void __libcpp_platform_wait_on_address(__cxx_atomic_contention_t const volatile* __ptr,
__cxx_contention_t __val)