Fix codegen for dealloc
The PR #359 regressed codegen for deallocation. This fixes it.
This commit is contained in:
committed by
Matthew Parkinson
parent
27c4a6a55e
commit
7eb8769950
@@ -522,11 +522,19 @@ namespace snmalloc
|
||||
ChunkRecord* slab_record =
|
||||
reinterpret_cast<ChunkRecord*>(entry.get_metaslab());
|
||||
slab_record->chunk = CapPtr<void, CBChunk>(p);
|
||||
check_init([&](CoreAlloc* core_alloc) {
|
||||
ChunkAllocator::dealloc<SharedStateHandle>(
|
||||
core_alloc->get_backend_local_state(), slab_record, slab_sizeclass);
|
||||
return nullptr;
|
||||
});
|
||||
check_init(
|
||||
[](
|
||||
CoreAlloc* core_alloc,
|
||||
ChunkRecord* slab_record,
|
||||
size_t slab_sizeclass) {
|
||||
ChunkAllocator::dealloc<SharedStateHandle>(
|
||||
core_alloc->get_backend_local_state(),
|
||||
slab_record,
|
||||
slab_sizeclass);
|
||||
return nullptr;
|
||||
},
|
||||
slab_record,
|
||||
slab_sizeclass);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user