-
Clemens Backes authored
In certain situations (especially if the profiler is disabled) it can happen that multiple isolates trigger tier-up at the same time. Each recompilation would then identify the set of functions to recompile and add compilation units for them. This creates lots of redundant compilation, which takes time and can exceed the total wasm code space limit (code would later get garbage-collected, but there is a high peak). This CL fixes that by always finishing a running recompilation before starting a new one. Since typically concurrent recompilations all recompile for the same tier, this would avoid do most compilation only once, and later recompilations can skip most functions. The only redundant compilation that can happen is via compilation units that are still executing while the next recompilation starts, but those should not create too much redundant code. R=thibaudm@chromium.org Bug: chromium:1114093 Change-Id: If8fa7d953f3ce77a9d146458bf5e17bb9bf97219 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2379851 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69588}
945fabf5