mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-28 14:02:51 +00:00
This works very similarly to MarkedVector<T>, but instead of expecting T to be Value or a GC-allocated pointer type, T can be anything. Every pointer-sized value in the vector's storage will be checked during conservative root scanning. In other words, this allows you to put something like this in a ConservativeVector<Foo> and it will be protected from GC: struct Foo { i64 number; Value some_value; GCPtr<Object> some_object; }; |
||
---|---|---|
.. | ||
BlockAllocator.cpp | ||
BlockAllocator.h | ||
Cell.cpp | ||
Cell.h | ||
CellAllocator.cpp | ||
CellAllocator.h | ||
ConservativeVector.cpp | ||
ConservativeVector.h | ||
DeferGC.h | ||
GCPtr.h | ||
Handle.cpp | ||
Handle.h | ||
Heap.cpp | ||
Heap.h | ||
HeapBlock.cpp | ||
HeapBlock.h | ||
HeapFunction.h | ||
HeapRoot.h | ||
Internals.h | ||
MarkedVector.cpp | ||
MarkedVector.h |