memory: Cleanup global variables and simplify allocate/deallocate logic #104
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The safe memory system currently relies on global variables for atomics and mutexes as well as for the internal
allocation_manager
class. However, global variables typically indicate bad design and should be avoided in general. Get rid of all of them by moving the instances ofallocation_manager
to the internaldispatch_allocation_manager
function, which now also acts as the singleton function, and by significantly simplifying the internalallocate
anddeallocate
logic.