Cap ConcurrentMarking tasks at 7 for now.

This is an unfortunate restriction imposed by Worklist::kMaxNumTasks
for now.

This CL unbreaks tests for developers. The CQ didn't catch this breakage
because bots have 8 cores and concurrent marking uses num_cores-1.

R=hpayer@chromium.org

TEST=All tests passed on dev machine (was super broken without this change)
NOTRY=True (to unbreak devs)

Bug: v8:7477,chromium:812178
Change-Id: I644613857c74d1ae00965f3e6d1d7692a4303062
Reviewed-on: https://chromium-review.googlesource.com/931461
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51473}
This commit is contained in:
Gabriel Charette 2018-02-22 14:09:25 +01:00 committed by Commit Bot
parent 7a80dbdbec
commit 4939463c77

View File

@ -53,7 +53,10 @@ class ConcurrentMarking {
COMPLETE_TASKS_FOR_TESTING,
};
static constexpr int kMaxTasks = 8;
// TODO(gab): The only thing that prevents this being above 7 is
// Worklist::kMaxNumTasks being maxed at 8 (concurrent marking doesn't use
// task 0, reserved for the main thread).
static constexpr int kMaxTasks = 7;
using MarkingWorklist = Worklist<HeapObject*, 64 /* segment size */>;
ConcurrentMarking(Heap* heap, MarkingWorklist* shared,