summaryrefslogtreecommitdiff
path: root/chromium/v8/src/heap/incremental-marking.h
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/incremental-marking.h
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
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/incremental-marking.h')
-rw-r--r--chromium/v8/src/heap/incremental-marking.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/chromium/v8/src/heap/incremental-marking.h b/chromium/v8/src/heap/incremental-marking.h
index 7d06c086499..c507c022a70 100644
--- a/chromium/v8/src/heap/incremental-marking.h
+++ b/chromium/v8/src/heap/incremental-marking.h
@@ -5,6 +5,7 @@
#ifndef V8_HEAP_INCREMENTAL_MARKING_H_
#define V8_HEAP_INCREMENTAL_MARKING_H_
+#include "src/base/platform/mutex.h"
#include "src/heap/heap.h"
#include "src/heap/incremental-marking-job.h"
#include "src/heap/mark-compact.h"
@@ -168,6 +169,8 @@ class V8_EXPORT_PRIVATE IncrementalMarking final {
StepOrigin step_origin);
void FinalizeSweeping();
+ bool ContinueConcurrentSweeping();
+ void SupportConcurrentSweeping();
StepResult Step(double max_step_size_in_ms, CompletionAction action,
StepOrigin step_origin);
@@ -205,6 +208,8 @@ class V8_EXPORT_PRIVATE IncrementalMarking final {
// the concurrent marker.
void MarkBlackAndVisitObjectDueToLayoutChange(HeapObject obj);
+ void MarkBlackBackground(HeapObject obj, int object_size);
+
bool IsCompacting() { return IsMarking() && is_compacting_; }
void ProcessBlackAllocatedObject(HeapObject obj);
@@ -235,6 +240,11 @@ class V8_EXPORT_PRIVATE IncrementalMarking final {
bool IsBelowActivationThresholds() const;
+ void IncrementLiveBytesBackground(MemoryChunk* chunk, intptr_t by) {
+ base::MutexGuard guard(&background_live_bytes_mutex_);
+ background_live_bytes_[chunk] += by;
+ }
+
private:
class Observer : public AllocationObserver {
public:
@@ -337,6 +347,9 @@ class V8_EXPORT_PRIVATE IncrementalMarking final {
AtomicMarkingState atomic_marking_state_;
NonAtomicMarkingState non_atomic_marking_state_;
+ base::Mutex background_live_bytes_mutex_;
+ std::unordered_map<MemoryChunk*, intptr_t> background_live_bytes_;
+
DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking);
};
} // namespace internal