Commit 00cd6e0d authored by Ulan Degenbaev's avatar Ulan Degenbaev Committed by Commit Bot

[heap] Reset on-hold linear allocation area at the start of marking

Currently the on-hold area is reset on incremental marking steps.
At the start of marking we conservatively assume that the on-hold area
spans the initially allocated linear allocation area, which may be large.

Bug: chromium:973627
Change-Id: I83f2d0e38a2a255c1e8d48549352e9303be89920
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2000737Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65755}
parent a85d74a3
......@@ -500,6 +500,10 @@ bool MarkCompactCollector::StartCompaction() {
}
void MarkCompactCollector::StartMarking() {
if (FLAG_concurrent_marking || FLAG_parallel_marking) {
heap_->new_space()->ResetOriginalTop();
heap_->new_lo_space()->ResetPendingObject();
}
std::vector<Address> contexts;
if (FLAG_stress_per_context_marking_worklist) {
contexts = heap()->FindNativeContexts();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment