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

More structured specification for memory-allocator APIs #23

Open
rwatson opened this issue Nov 24, 2021 · 3 comments
Open

More structured specification for memory-allocator APIs #23

rwatson opened this issue Nov 24, 2021 · 3 comments
Assignees

Comments

@rwatson
Copy link
Member

rwatson commented Nov 24, 2021

Currently, we describe some practical implementation implications for allocators -- e.g., relating to bounds alignment -- but ideally we'd actually have a higher-level section talking in rather more detail about requirements for memory allocators. This would include not just how to do alignment/bounds, but also what sanity checks to run when free()/realloc()/etc are called, expectations (perhaps) for memory clearing, and to some extent (unclear how much) integration with VM. Might also want to touch on topics such as slab allocators.

This relates to existing issues #9 and #17 (the latter possibly subsumed by this issue?).

@nwf nwf self-assigned this Nov 25, 2021
@rwatson
Copy link
Member Author

rwatson commented Nov 25, 2021

I guess also this would include some guidance (not sure how strong on the 'may' 'should' 'most' spectrum) along the lines of return values when allocating zero-size regions, how to handle bounds in those edge cases, and so on.

@rwatson
Copy link
Member Author

rwatson commented Nov 25, 2021

It might also be that we want to consider how to handle optional types of protection -- e.g., at least "No temporal safety" vs "With temporal safety" -- but the latter might be subdivided into addressing issues like multiple frees / sanity checking vs support requiring actual revocation.

@rwatson
Copy link
Member Author

rwatson commented Nov 25, 2021

Tagging @brettferdosi, @brooksdavis

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

No branches or pull requests

2 participants