1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 16:27:35 +00:00

LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr

This commit is contained in:
Matthew Olsson 2023-02-26 16:09:02 -07:00 committed by Andreas Kling
parent 1df3652e27
commit 7c0c1c8f49
214 changed files with 825 additions and 827 deletions

View file

@ -31,7 +31,7 @@ private:
friend class Handle;
explicit HandleImpl(Cell*);
Cell* m_cell { nullptr };
GCPtr<Cell> m_cell;
IntrusiveListNode<HandleImpl> m_list_node;

View file

@ -113,7 +113,7 @@ private:
MarkedVectorBase::List m_marked_vectors;
WeakContainer::List m_weak_containers;
Vector<Cell*> m_uprooted_cells;
Vector<GCPtr<Cell>> m_uprooted_cells;
BlockAllocator m_block_allocator;

View file

@ -99,7 +99,7 @@ private:
struct FreelistEntry final : public Cell {
JS_CELL(FreelistEntry, Cell);
FreelistEntry* next { nullptr };
GCPtr<FreelistEntry> next;
};
Cell* cell(size_t index)
@ -110,7 +110,7 @@ private:
Heap& m_heap;
size_t m_cell_size { 0 };
size_t m_next_lazy_freelist_index { 0 };
FreelistEntry* m_freelist { nullptr };
GCPtr<FreelistEntry> m_freelist;
alignas(Cell) u8 m_storage[];
public: