-
-
Notifications
You must be signed in to change notification settings - Fork 439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add lockfree atomic uint128_type CAS for x86 #6521
base: master
Are you sure you want to change the base?
Add lockfree atomic uint128_type CAS for x86 #6521
Conversation
Can one of the admins verify this patch? |
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesCodacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more |
Thanks for working on this! There are some compilation and inspect/formatting problems reported by the CIs. Would you be able to address those? |
The Windows CI's are unhappy for some reason (even the one using the Clang frontend). Could you please have a look? |
The macOS CI tests seem to be failing after running Error for quick reference:
I was able to run the same command locally on my Macbook and it completed without error. I currently have it running |
@Dysrhythmic I think the solution to the compilation problem would be to create a new type while derving from
|
@Dysrhythmic I still believe that the new |
Fixes #
Proposed Changes
HPX_HAVE_CXX11_STD_ATOMIC_128BIT_LOCKFREE
uint128_type
struct fromtagged_ptr_pair.hpp
into its own header fileuint128_type.hpp
for increased modularityHPX_HAVE_CXX11_STD_ATOMIC_128BIT_LOCKFREE
isn't defined, use specialized methods inlockfree_uint128_type.hpp
hpx/libs/core/concurrency/tests/unit/lockfree_128uint.cpp
ctest --output-on-failure -R tests.unit.modules.concurrency.lockfree_128uint
./bin/lockfree_128uint_test
indicates the implementation is working as expectedAny background context you want to provide?
Next steps will be:
Checklist
Not all points below apply to all pull requests.