mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:17:44 +00:00
LibJS: Use IntrusiveList for keeping track of MarkedValueLists
This commit is contained in:
parent
746b310061
commit
3fe1be20b7
3 changed files with 13 additions and 7 deletions
|
@ -94,8 +94,8 @@ void Heap::gather_roots(HashTable<Cell*>& roots)
|
|||
for (auto& handle : m_handles)
|
||||
roots.set(handle.cell());
|
||||
|
||||
for (auto* list : m_marked_value_lists) {
|
||||
for (auto& value : list->values()) {
|
||||
for (auto& list : m_marked_value_lists) {
|
||||
for (auto& value : list.values()) {
|
||||
if (value.is_cell())
|
||||
roots.set(&value.as_cell());
|
||||
}
|
||||
|
@ -270,14 +270,14 @@ void Heap::did_destroy_handle(Badge<HandleImpl>, HandleImpl& impl)
|
|||
|
||||
void Heap::did_create_marked_value_list(Badge<MarkedValueList>, MarkedValueList& list)
|
||||
{
|
||||
VERIFY(!m_marked_value_lists.contains(&list));
|
||||
m_marked_value_lists.set(&list);
|
||||
VERIFY(!m_marked_value_lists.contains(list));
|
||||
m_marked_value_lists.append(list);
|
||||
}
|
||||
|
||||
void Heap::did_destroy_marked_value_list(Badge<MarkedValueList>, MarkedValueList& list)
|
||||
{
|
||||
VERIFY(m_marked_value_lists.contains(&list));
|
||||
m_marked_value_lists.remove(&list);
|
||||
VERIFY(m_marked_value_lists.contains(list));
|
||||
m_marked_value_lists.remove(list);
|
||||
}
|
||||
|
||||
void Heap::did_create_weak_container(Badge<WeakContainer>, WeakContainer& set)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue