• Clemens Backes's avatar
    [wasm] Switch compilation to Jobs API · 0c837e83
    Clemens Backes authored
    Use the new jobs API for WebAssembly compilation. This avoids having to
    schedule as many background tasks as there are worker threads. Instead
    the one job specifies the maximum concurrency, which changes dynamically
    as new compile jobs become available.
    This also avoids the artificial deadline we used to ensure that other
    tasks get some share of the CPU resources if needed.
    
    Even though this CL moves actual wasm function completely over to the
    Jobs API, other similar tasks (like wrapper compilation) are still using
    the Task API and need to be ported in a follow-up CL.
    Also, we are still using the same priority for baseline compilation and
    tier up. We should split this in a follow-up CL to have two jobs with
    different priorities. This will also allow us to only block on baseline
    compilation where we currently block on both.
    
    R=ahaas@chromium.org
    CC=gab@chromium.org
    
    Bug: chromium:1101340
    Change-Id: I5656697753346e5fdb15d578425cdb949ac6e364
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
    Cq-Include-Trybots: luci.chromium.try:linux-rel
    Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2280100
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69239}
    0c837e83
module-compiler.cc 120 KB