• 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
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
base Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
heap Loading commit data...
interpreter Loading commit data...
libplatform Loading commit data...
parser Loading commit data...
wasm Loading commit data...
zone Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
allocation-unittest.cc Loading commit data...
bigint-unittest.cc Loading commit data...
cancelable-tasks-unittest.cc Loading commit data...
char-predicates-unittest.cc Loading commit data...
code-stub-assembler-unittest.cc Loading commit data...
code-stub-assembler-unittest.h Loading commit data...
counters-unittest.cc Loading commit data...
detachable-vector-unittest.cc Loading commit data...
eh-frame-iterator-unittest.cc Loading commit data...
eh-frame-writer-unittest.cc Loading commit data...
locked-queue-unittest.cc Loading commit data...
object-unittest.cc Loading commit data...
register-configuration-unittest.cc Loading commit data...
run-all-unittests.cc Loading commit data...
source-position-table-unittest.cc Loading commit data...
test-helpers.cc Loading commit data...
test-helpers.h Loading commit data...
test-utils.cc Loading commit data...
test-utils.h Loading commit data...
testcfg.py Loading commit data...
unicode-unittest.cc Loading commit data...
unittests.gyp Loading commit data...
unittests.isolate Loading commit data...
unittests.status Loading commit data...
utils-unittest.cc Loading commit data...
value-serializer-unittest.cc Loading commit data...