Refactor interface between backend and frontend (#530)

* Rename to use Config, rather than StateHandle/Globals/Backend
* Make Backend a type on Config that contains the address space management implementation
* Make Ranges part of the Backend configuration, so we can reuse code for different ways of managing memory
* Pull the common chains of range definitions into separate files for reuse.
* Move PagemapEntry to CommonConfig
* Expose Pagemap through backend, so frontend doesn't see Pagemap directly
* Remove global Pal and use DefaultPal, where one is not pass explicitly.

Co-authored-by: David Chisnall <davidchisnall@users.noreply.github.com>
Co-authored-by: Nathaniel Filardo <105816689+nwf-msr@users.noreply.github.com>
This commit is contained in:
Matthew Parkinson
2022-05-31 10:45:04 +01:00
committed by GitHub
parent 1b8aa6bc0d
commit 03c9da6aa4
42 changed files with 765 additions and 538 deletions

View File

@@ -8,7 +8,7 @@ int main()
auto r = a.alloc(16);
snmalloc::debug_check_empty<snmalloc::Globals>(&result);
snmalloc::debug_check_empty<snmalloc::StandardConfig>(&result);
if (result != false)
{
abort();
@@ -16,7 +16,7 @@ int main()
a.dealloc(r);
snmalloc::debug_check_empty<snmalloc::Globals>(&result);
snmalloc::debug_check_empty<snmalloc::StandardConfig>(&result);
if (result != true)
{
abort();
@@ -24,7 +24,7 @@ int main()
r = a.alloc(16);
snmalloc::debug_check_empty<snmalloc::Globals>(&result);
snmalloc::debug_check_empty<snmalloc::StandardConfig>(&result);
if (result != false)
{
abort();
@@ -32,7 +32,7 @@ int main()
a.dealloc(r);
snmalloc::debug_check_empty<snmalloc::Globals>(&result);
snmalloc::debug_check_empty<snmalloc::StandardConfig>(&result);
if (result != true)
{
abort();