mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 03:08:13 +00:00
UserspaceEmulator: Tidy up the MallocRegionMetadata construction a bit
Use designated initializers to make it very obvious what's being set, and also give the metadata a backpointer to the region for convenience.
This commit is contained in:
parent
915e8dbe71
commit
a457b90733
2 changed files with 9 additions and 4 deletions
|
@ -80,11 +80,15 @@ void MallocTracer::target_did_malloc(Badge<Emulator>, FlatPtr address, size_t si
|
|||
}
|
||||
|
||||
if (!mmap_region.is_malloc_block()) {
|
||||
auto new_malloc_data = make<MallocRegionMetadata>();
|
||||
mmap_region.set_malloc_metadata({}, move(new_malloc_data));
|
||||
auto chunk_size = mmap_region.read32(offsetof(CommonHeader, m_size)).value();
|
||||
mmap_region.set_malloc_metadata({},
|
||||
adopt_own(*new MallocRegionMetadata {
|
||||
.region = mmap_region,
|
||||
.address = mmap_region.base(),
|
||||
.chunk_size = chunk_size,
|
||||
.mallocations = {},
|
||||
}));
|
||||
auto& malloc_data = *mmap_region.malloc_metadata();
|
||||
malloc_data.address = region->base();
|
||||
malloc_data.chunk_size = mmap_region.read32(offsetof(CommonHeader, m_size)).value();
|
||||
|
||||
bool is_chunked_block = malloc_data.chunk_size <= size_classes[num_size_classes - 1];
|
||||
if (is_chunked_block)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue