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, ...@@ -20,6 +20,8 @@ BaseSpace::BaseSpace(RawHeap* heap, size_t index, PageType type,
USE(is_compactable_); USE(is_compactable_);
} }
BaseSpace::~BaseSpace() = default;
void BaseSpace::AddPage(BasePage* page) { void BaseSpace::AddPage(BasePage* page) {
v8::base::LockGuard<v8::base::Mutex> lock(&pages_mutex_); v8::base::LockGuard<v8::base::Mutex> lock(&pages_mutex_);
DCHECK_EQ(pages_.cend(), std::find(pages_.cbegin(), pages_.cend(), page)); DCHECK_EQ(pages_.cend(), std::find(pages_.cbegin(), pages_.cend(), page));
......
...@@ -28,6 +28,7 @@ class V8_EXPORT_PRIVATE BaseSpace { ...@@ -28,6 +28,7 @@ class V8_EXPORT_PRIVATE BaseSpace {
BaseSpace(const BaseSpace&) = delete; BaseSpace(const BaseSpace&) = delete;
BaseSpace& operator=(const BaseSpace&) = delete; BaseSpace& operator=(const BaseSpace&) = delete;
virtual ~BaseSpace();
iterator begin() { return pages_.begin(); } iterator begin() { return pages_.begin(); }
const_iterator begin() const { 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