summaryrefslogtreecommitdiffstats
path: root/chromium/v8/src/heap/cppgc/heap-space.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/heap/cppgc/heap-space.cc
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (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.cc20
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) {}