File tree Expand file tree Collapse file tree 3 files changed +12
-1
lines changed Expand file tree Collapse file tree 3 files changed +12
-1
lines changed Original file line number Diff line number Diff line change 1111#define V8_MAJOR_VERSION 6
1212#define V8_MINOR_VERSION 1
1313#define V8_BUILD_NUMBER 534
14- #define V8_PATCH_LEVEL 42
14+ #define V8_PATCH_LEVEL 43
1515
1616// Use 1 for candidates and 0 otherwise.
1717// (Boolean macro values are not supported by all preprocessors.)
Original file line number Diff line number Diff line change @@ -1716,6 +1716,12 @@ void Heap::Scavenge() {
17161716 IncrementalMarking::PauseBlackAllocationScope pause_black_allocation (
17171717 incremental_marking ());
17181718
1719+ if (mark_compact_collector ()->sweeper ().sweeping_in_progress () &&
1720+ memory_allocator_->unmapper ()->NumberOfDelayedChunks () >
1721+ kMaxSemiSpaceSizeInKB / Page::kPageSize ) {
1722+ mark_compact_collector ()->EnsureSweepingCompleted ();
1723+ }
1724+
17191725 mark_compact_collector ()->sweeper ().EnsureNewSpaceCompleted ();
17201726
17211727 SetGCState (SCAVENGE);
Original file line number Diff line number Diff line change @@ -1226,6 +1226,11 @@ class V8_EXPORT_PRIVATE MemoryAllocator {
12261226
12271227 bool has_delayed_chunks () { return delayed_regular_chunks_.size () > 0 ; }
12281228
1229+ int NumberOfDelayedChunks () {
1230+ base::LockGuard<base::Mutex> guard (&mutex_);
1231+ return static_cast <int >(delayed_regular_chunks_.size ());
1232+ }
1233+
12291234 private:
12301235 static const int kReservedQueueingSlots = 64 ;
12311236 static const int kMaxUnmapperTasks = 24 ;
You can’t perform that action at this time.
0 commit comments