[heap] Do not schedule follow-up GCs on memory pressure signal
Upon receiving a memory pressure signal V8 performs one GC and also schedules three follow-up GCs. This may be problematic for performance if the memory pressure signals are generated periodically. This patch makes V8's memory pressure handler more lightweight by doing only one GC. Bug: chromium:1072746 Change-Id: I242534bd2c27a68188bb5e3a6b4092118c1b486c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2169930 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67422}
This commit is contained in:
parent
aa9aac3c54
commit
3a50c708b9
@ -3773,12 +3773,6 @@ void Heap::CheckMemoryPressure() {
|
|||||||
GarbageCollectionReason::kMemoryPressure);
|
GarbageCollectionReason::kMemoryPressure);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (memory_reducer_) {
|
|
||||||
MemoryReducer::Event event;
|
|
||||||
event.type = MemoryReducer::kPossibleGarbage;
|
|
||||||
event.time_ms = MonotonicallyIncreasingTimeInMs();
|
|
||||||
memory_reducer_->NotifyPossibleGarbage(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Heap::CollectGarbageOnMemoryPressure() {
|
void Heap::CollectGarbageOnMemoryPressure() {
|
||||||
|
Loading…
Reference in New Issue
Block a user