Skip to content
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

Heap refactor #51

Merged
merged 18 commits into from
Sep 25, 2024
Merged

Heap refactor #51

merged 18 commits into from
Sep 25, 2024

Conversation

mjp41
Copy link
Member

@mjp41 mjp41 commented Sep 25, 2024

The original design of the runtime passed around the allocator parameter, but this was not done consistently, resulting in ThreadAlloc::get() being inserted to get the current allocator. This create a strong dependence on snmalloc in bizarre places.

This PR

  • Creates a dedicated verona::rt::heap namespace for accessing the allocation routines
  • Removes direct access to snmalloc structures, and places it through the rt::heap namespace.
  • Add a replay allocator for better detecting ABA problems.

The third entry is highlighted in #50, where we have observed that the ASAN slowing down returning memory results in it being very challenging to detect ABA problems with systematic testing. This alternative allocator improves that situation.

Update to add Replay allocator in subsequent PR.

@mjp41 mjp41 mentioned this pull request Sep 25, 2024
@mjp41 mjp41 merged commit 665eb57 into microsoft:main Sep 25, 2024
8 checks passed
@mjp41 mjp41 deleted the heap_refactor branch September 25, 2024 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant