1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:38:11 +00:00

LibJS: Add some basic freelist validation for the GC heap

When using the freelist, we now validate that the entries are actual
cell pointers within the current HeapBlock.
This commit is contained in:
Andreas Kling 2021-02-13 00:17:28 +01:00
parent 46e5890152
commit e1dbf74f15
2 changed files with 8 additions and 0 deletions

View file

@ -75,6 +75,8 @@ HeapBlock::HeapBlock(Heap& heap, size_t cell_size)
void HeapBlock::deallocate(Cell* cell)
{
ASSERT(is_valid_cell_pointer(cell));
ASSERT(!m_freelist || is_valid_cell_pointer(m_freelist));
ASSERT(cell->is_live());
ASSERT(!cell->is_marked());
cell->~Cell();