diff options
| author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
|---|---|---|
| committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
| commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
| tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/heap/cppgc/heap-space.cc | |
| parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/heap/cppgc/heap-space.cc')
| -rw-r--r-- | chromium/v8/src/heap/cppgc/heap-space.cc | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/chromium/v8/src/heap/cppgc/heap-space.cc b/chromium/v8/src/heap/cppgc/heap-space.cc index 70ddb935314..3a213dc18ad 100644 --- a/chromium/v8/src/heap/cppgc/heap-space.cc +++ b/chromium/v8/src/heap/cppgc/heap-space.cc @@ -7,7 +7,8 @@ #include <algorithm> #include "src/base/logging.h" -#include "src/heap/cppgc/heap-page.h" +#include "src/base/platform/mutex.h" +#include "src/heap/cppgc/heap-page-inl.h" #include "src/heap/cppgc/object-start-bitmap-inl.h" namespace cppgc { @@ -17,11 +18,13 @@ BaseSpace::BaseSpace(RawHeap* heap, size_t index, PageType type) : heap_(heap), index_(index), type_(type) {} 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)); pages_.push_back(page); } void BaseSpace::RemovePage(BasePage* page) { + v8::base::LockGuard<v8::base::Mutex> lock(&pages_mutex_); auto it = std::find(pages_.cbegin(), pages_.cend(), page); DCHECK_NE(pages_.cend(), it); pages_.erase(it); @@ -36,21 +39,6 @@ BaseSpace::Pages BaseSpace::RemoveAllPages() { NormalPageSpace::NormalPageSpace(RawHeap* heap, size_t index) : BaseSpace(heap, index, PageType::kNormal) {} -void NormalPageSpace::AddToFreeList(void* address, size_t size) { - free_list_.Add({address, size}); - NormalPage::From(BasePage::FromPayload(address)) - ->object_start_bitmap() - .SetBit(static_cast<Address>(address)); -} - -void NormalPageSpace::ResetLinearAllocationBuffer() { - if (current_lab_.size()) { - DCHECK_NOT_NULL(current_lab_.start()); - AddToFreeList(current_lab_.start(), current_lab_.size()); - current_lab_.Set(nullptr, 0); - } -} - LargePageSpace::LargePageSpace(RawHeap* heap, size_t index) : BaseSpace(heap, index, PageType::kLarge) {} |
