-
Notifications
You must be signed in to change notification settings - Fork 109
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
Fully static PALs and simplified inheritance #245
Conversation
For reasons unknown, this appeases MSVC using C++20.
"Pal" is a global symbol for the current architecture's platform abstraction layer class (see src/pal/pal.h); to be less confusing, don't shadow it with a template parameter on the AddressSpaceManager class, and instead use "PAL" as is done elsewhere for template arguments.
This will not be used unless the C++ standard version is raised to 20. As concepts and C++20 more generally are quite new, this does not do so. Nevertheless, the use of concepts can improve the local development experience as type mismatches are discovered earlier (at template invocation rather than only during expansion).
If we're going to explore fully-static PALs, then we shouldn't need a constructor.
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.
Could you update the documentation about writing a Pal:
https://github.com/microsoft/snmalloc#porting-snmalloc-to-a-new-platform
This needs littering with static
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.
LGTM
See #233 .