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:
committed by
GitHub
parent
1b8aa6bc0d
commit
03c9da6aa4
@@ -12,7 +12,7 @@ struct PoolAEntry : Pooled<PoolAEntry>
|
||||
PoolAEntry() : field(1){};
|
||||
};
|
||||
|
||||
using PoolA = Pool<PoolAEntry, Alloc::StateHandle>;
|
||||
using PoolA = Pool<PoolAEntry, Alloc::Config>;
|
||||
|
||||
struct PoolBEntry : Pooled<PoolBEntry>
|
||||
{
|
||||
@@ -22,14 +22,14 @@ struct PoolBEntry : Pooled<PoolBEntry>
|
||||
PoolBEntry(int f) : field(f){};
|
||||
};
|
||||
|
||||
using PoolB = Pool<PoolBEntry, Alloc::StateHandle>;
|
||||
using PoolB = Pool<PoolBEntry, Alloc::Config>;
|
||||
|
||||
void test_alloc()
|
||||
{
|
||||
auto ptr = PoolA::acquire();
|
||||
SNMALLOC_CHECK(ptr != nullptr);
|
||||
// Pool allocations should not be visible to debug_check_empty.
|
||||
snmalloc::debug_check_empty<Alloc::StateHandle>();
|
||||
snmalloc::debug_check_empty<Alloc::Config>();
|
||||
PoolA::release(ptr);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user