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
Fixing wrapper_heap alignment problems #3007
Conversation
This patch ensures that the addresses returned from the wrapper_heap are correctly aligned for the underlying objects.
Conflicts: hpx/runtime/components/server/wrapper_heap_list.hpp
This PR should be ready now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ok to me, though I only 'reviewd' the minor changes to use a heap params struct.
first_free_ = pool_; | ||
size_ = s / element_size_; //-V104 | ||
free_size_ = size_; | ||
first_free_ = (reinterpret_cast<std::size_t>(pool_) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uintptr_t maybe for the first_free usage throughout?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::size_t
is good enough as it is guaranteed to be able to hold pointers.
@hkaiser do you still want to test this on windows? Appveyor is fine with it. I'd really like to move on here, the bug that's fixed here is really severe. |
@sithhell I'd appreciate it if I had a bit more time to test this on windows. |
|
This patch ensures that the addresses returned from the wrapper_heap are
correctly aligned for the underlying objects.