• Clemens Backes's avatar
    [wasm] Initialize compile job early · f3682984
    Clemens Backes authored
    Since the compile job can always be reused after creation (even if it
    runs out of work), we do not need the logic to (re-)initialize it. In
    fact, it will always only be initialized once already.
    This allows us to initialize it once during construction of the
    compilation state (or right after the initialization), and then access
    it without locks later.
    
    In addition, this CL
    1) renames "current_compile_job_" to "compile_job_", since there will
       always only be one now;
    2) removes the {ScheduleCompileJobForNewUnits} method, and just does a
       {compile_job_->NotifyConcurrencyIncrease()} instead;
    3) removes the {has_priority_} field and just directly does a
       {compile_job_->UpdatePriority} call.
    
    The streaming test platform needed to be fixed to avoid calling {Join}
    on the job handle, which would invalidate the handle afterwards.
    Instead, we just run all tasks as long as there are any.
    
    R=thibaudm@chromium.org
    CC=etiennep@chromium.org
    
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
    Change-Id: I7094231e86d5f54cfca5e971b96fd81e994c874a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2584946
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71757}
    f3682984
compilation-environment.h 5.35 KB