Commit 39f55fc7 authored by Aleksei Koziatinskii's avatar Aleksei Koziatinskii Committed by V8 LUCI CQ

cppgc: added missing virtual BaseSpace destructor

BaseSpace classes. So BaseSpace should have a virtual destructor
for memory to be freed properly.

cppgc: :internal::RawHeap maintains a std::vector of
std: :unique_ptr<BaseSpace> and stores there different derived from
Change-Id: Id9f59817799303bf62aafb66b3a29770bbd2af1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3379228Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Commit-Queue: Alexey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78558}
parent 21b1391d
......@@ -20,6 +20,8 @@ BaseSpace::BaseSpace(RawHeap* heap, size_t index, PageType type,
USE(is_compactable_);
}
BaseSpace::~BaseSpace() = default;
void BaseSpace::AddPage(BasePage* page) {
v8::base::LockGuard<v8::base::Mutex> lock(&pages_mutex_);
DCHECK_EQ(pages_.cend(), std::find(pages_.cbegin(), pages_.cend(), page));
......
......@@ -28,6 +28,7 @@ class V8_EXPORT_PRIVATE BaseSpace {
BaseSpace(const BaseSpace&) = delete;
BaseSpace& operator=(const BaseSpace&) = delete;
virtual ~BaseSpace();
iterator begin() { return pages_.begin(); }
const_iterator begin() const { return pages_.begin(); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment