• Gabriel Charette's avatar
    Revert "v8::ItemParallelJob : Do not launch more Tasks than there are Items to process." · 2407b2bd
    Gabriel Charette authored
    This reverts commit 8a27c7d3.
    
    Reason for revert: 
    
    Having more tasks then work items is intentional in some use cases, i.e. Scavenging where RunInParallel() does parallel processing on a dynamic workload *after* the initial set of work items:
    
        {
          barrier_->Start();
          TimedScope scope(&scavenging_time);
          PageScavengingItem* item = nullptr;
          while ((item = GetItem<PageScavengingItem>()) != nullptr) {
            item->Process(scavenger_);
            item->MarkFinished();
          }
          do {
            scavenger_->Process(barrier_);
          } while (!barrier_->Wait());
          scavenger_->Process();
        }
    
    Original change's description:
    > v8::ItemParallelJob : Do not launch more Tasks than there are Items to process.
    > 
    > Except when there are 0 items. For some reason I don't quite understand yet, not
    > calling Run() on tasks_[0] when there are 0 items results in DCHECKs...
    > 
    > Bug: chromium:806237
    > Change-Id: I38c8fffde64a42f93f4efda492832651137eebd7
    > Reviewed-on: https://chromium-review.googlesource.com/888704
    > Commit-Queue: Gabriel Charette <gab@chromium.org>
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#50924}
    
    TBR=gab@chromium.org,mlippautz@chromium.org
    
    Change-Id: Iad2ab16bb41f339de8e3fbca1c08c5d26b8a0111
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:806237
    Reviewed-on: https://chromium-review.googlesource.com/891186Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Gabriel Charette <gab@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50928}
    2407b2bd
item-parallel-job.h 5.16 KB