mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-01 14:18:15 +00:00
LibGC: Rename MarkedVector => RootVector
Let's try to make it a bit more clear that this is a Vector of GC roots.
This commit is contained in:
committed by
Andreas Kling
parent
ada36e5c0a
commit
3bfb0534be
36
Libraries/LibGC/RootVector.cpp
Normal file
36
Libraries/LibGC/RootVector.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (c) 2021, Andreas Kling <andreas@ladybird.org>
|
||||
* Copyright (c) 2022, Linus Groh <linusg@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibGC/Heap.h>
|
||||
#include <LibGC/RootVector.h>
|
||||
|
||||
namespace GC {
|
||||
|
||||
RootVectorBase::RootVectorBase(Heap& heap)
|
||||
: m_heap(&heap)
|
||||
{
|
||||
m_heap->did_create_marked_vector({}, *this);
|
||||
}
|
||||
|
||||
RootVectorBase::~RootVectorBase()
|
||||
{
|
||||
m_heap->did_destroy_marked_vector({}, *this);
|
||||
}
|
||||
|
||||
RootVectorBase& RootVectorBase::operator=(RootVectorBase const& other)
|
||||
{
|
||||
if (m_heap != other.m_heap) {
|
||||
m_heap = other.m_heap;
|
||||
|
||||
// NOTE: IntrusiveList will remove this RootVectorBase from the old heap it was part of.
|
||||
m_heap->did_create_marked_vector({}, *this);
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user