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/concurrent-allocator.h | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-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/concurrent-allocator.h')
-rw-r--r-- | chromium/v8/src/heap/concurrent-allocator.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/chromium/v8/src/heap/concurrent-allocator.h b/chromium/v8/src/heap/concurrent-allocator.h index f165d009620..795e37d339c 100644 --- a/chromium/v8/src/heap/concurrent-allocator.h +++ b/chromium/v8/src/heap/concurrent-allocator.h @@ -8,12 +8,27 @@ #include "src/common/globals.h" #include "src/heap/heap.h" #include "src/heap/spaces.h" +#include "src/tasks/cancelable-task.h" namespace v8 { namespace internal { class LocalHeap; +class StressConcurrentAllocatorTask : public CancelableTask { + public: + explicit StressConcurrentAllocatorTask(Isolate* isolate) + : CancelableTask(isolate), isolate_(isolate) {} + + void RunInternal() override; + + // Schedules task on background thread + static void Schedule(Isolate* isolate); + + private: + Isolate* isolate_; +}; + // Concurrent allocator for allocation from background threads/tasks. // Allocations are served from a TLAB if possible. class ConcurrentAllocator { @@ -36,6 +51,8 @@ class ConcurrentAllocator { void FreeLinearAllocationArea(); void MakeLinearAllocationAreaIterable(); + void MarkLinearAllocationAreaBlack(); + void UnmarkLinearAllocationArea(); private: inline bool EnsureLab(AllocationOrigin origin); @@ -43,6 +60,9 @@ class ConcurrentAllocator { AllocationAlignment alignment, AllocationOrigin origin); + V8_EXPORT_PRIVATE AllocationResult AllocateOutsideLab( + int object_size, AllocationAlignment alignment, AllocationOrigin origin); + V8_EXPORT_PRIVATE Address PerformCollectionAndAllocateAgain( int object_size, AllocationAlignment alignment, AllocationOrigin origin); |