mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
Use the address_manager to place allocations
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
|
||||
using namespace kutil;
|
||||
|
||||
extern void * grow_callback(void*, size_t);
|
||||
extern void * grow_callback(size_t);
|
||||
extern void free_memory();
|
||||
|
||||
const size_t max_block = 1ull << 36;
|
||||
@@ -21,14 +21,15 @@ const size_t GB = 1ull << 30;
|
||||
|
||||
TEST_CASE( "Buddy addresses tests", "[address buddy]" )
|
||||
{
|
||||
heap_manager mm(nullptr, grow_callback);
|
||||
heap_manager mm(grow_callback);
|
||||
kutil::setup::set_heap(&mm);
|
||||
|
||||
using clock = std::chrono::system_clock;
|
||||
unsigned seed = clock::now().time_since_epoch().count();
|
||||
std::default_random_engine rng(seed);
|
||||
|
||||
address_manager am(start, max_block * 2);
|
||||
address_manager am;
|
||||
am.add_regions(start, max_block * 2);
|
||||
|
||||
// Blocks should be:
|
||||
// 36: 0-64G, 64-128G
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
using namespace kutil;
|
||||
|
||||
extern void * grow_callback(void*, size_t);
|
||||
extern void * grow_callback(size_t);
|
||||
extern void free_memory();
|
||||
|
||||
const size_t max_block = 1ull << 36;
|
||||
@@ -14,7 +14,7 @@ const size_t GB = 1ull << 30;
|
||||
|
||||
TEST_CASE( "Frame allocator tests", "[memory frame]" )
|
||||
{
|
||||
heap_manager mm(nullptr, grow_callback);
|
||||
heap_manager mm(grow_callback);
|
||||
kutil::setup::set_heap(&mm);
|
||||
|
||||
frame_block_list free;
|
||||
|
||||
@@ -23,7 +23,7 @@ std::vector<size_t> sizes = {
|
||||
16000, 8000, 4000, 4000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 150,
|
||||
150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 48, 48, 48, 13 };
|
||||
|
||||
void * grow_callback(void *start, size_t length)
|
||||
void * grow_callback(size_t length)
|
||||
{
|
||||
total_alloc_calls += 1;
|
||||
total_alloc_size += length;
|
||||
@@ -47,7 +47,7 @@ TEST_CASE( "Buddy blocks tests", "[memory buddy]" )
|
||||
unsigned seed = clock::now().time_since_epoch().count();
|
||||
std::default_random_engine rng(seed);
|
||||
|
||||
heap_manager mm(nullptr, grow_callback);
|
||||
heap_manager mm(grow_callback);
|
||||
|
||||
// The ctor should have allocated an initial block
|
||||
CHECK( total_alloc_size == max_block );
|
||||
@@ -138,7 +138,7 @@ TEST_CASE( "Non-contiguous blocks tests", "[memory buddy]" )
|
||||
unsigned seed = clock::now().time_since_epoch().count();
|
||||
std::default_random_engine rng(seed);
|
||||
|
||||
heap_manager mm(nullptr, grow_callback);
|
||||
heap_manager mm(grow_callback);
|
||||
std::vector<void *> allocs;
|
||||
|
||||
const int blocks = 3;
|
||||
|
||||
Reference in New Issue
Block a user