1. 12 Oct, 2018 1 commit
  2. 10 Oct, 2018 1 commit
  3. 20 Mar, 2018 1 commit
    • Clemens Hammacher's avatar
      [platform] Use condition variable instead of semaphore · 78f88ef0
      Clemens Hammacher authored
      The MessageLoopBehavior might change over time: Sometimes we want to
      wait because wasm background compilation is going on, sometimes we
      don't. This makes the semaphore go out of sync with the task queue (we
      always notify it when a new task is scheduled, but we only sometimes
      wait on it).
      Using a condition variable instead of a semaphore avoids this problem.
      
      R=ahaas@chromium.org
      
      Change-Id: Ib9850efc634f5988d3f824895b6566bd76475985
      Reviewed-on: https://chromium-review.googlesource.com/969122Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52057}
      78f88ef0
  4. 15 Nov, 2017 1 commit
    • Andreas Haas's avatar
      Reland "[platform] Implement TaskRunners in the DefaultPlatform" · 8a1bafaf
      Andreas Haas authored
      There was a data race in the access of the foreground_task_runner_map_.
      I protect each access to foreground_task_runner_map_ with a lock now.
      
      Original change's description:
      > [platform] Implement TaskRunners in the DefaultPlatform
      >
      > This CL implements the TaskRunners in the DefaultPlatform which has been
      > added recently to the platform API. In addition I changed how task
      > posting works on the DefaultPlatform.
      >
      > With this implementation the DefaultPlatform keeps one
      > DefaultForegroundTaskRunner per isolate, plus one
      > DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners
      > with a shared_ptr, which is also shared with any caller of
      > GetForegroundTaskRunner or GetBackgroundTaskrunner.
      >
      > This CL moves the task management from the DefaultPlatform to the
      > TaskRunners.  The DefaultForegroundTaskRunner owns and manages the the
      > task queue, the delayed task  queue, and the idle task queue. The
      > DefaultBackgroundTaskRunner owns the WorkerThread pool and the
      > background task queue.
      >
      > In addition changed many Task* to std::unique_ptr<Task> to document task
      > ownership.
      >
      > R=rmcilroy@chromium.org
      >
      > Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27
      > Reviewed-on: https://chromium-review.googlesource.com/753583
      > Commit-Queue: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49354}
      
      Change-Id: Iddccdb07bde1a799815ec6ed6af37082df4987c7
      Reviewed-on: https://chromium-review.googlesource.com/770970
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49379}
      8a1bafaf
  5. 14 Nov, 2017 2 commits
    • Michael Achenbach's avatar
      Revert "[platform] Implement TaskRunners in the DefaultPlatform" · c56cff23
      Michael Achenbach authored
      This reverts commit 8de2e6db.
      
      Reason for revert: Suspect for:
      https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/24237
      https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/20896
      
      Original change's description:
      > [platform] Implement TaskRunners in the DefaultPlatform
      > 
      > This CL implements the TaskRunners in the DefaultPlatform which has been
      > added recently to the platform API. In addition I changed how task
      > posting works on the DefaultPlatform.
      > 
      > With this implementation the DefaultPlatform keeps one
      > DefaultForegroundTaskRunner per isolate, plus one
      > DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners
      > with a shared_ptr, which is also shared with any caller of
      > GetForegroundTaskRunner or GetBackgroundTaskrunner.
      > 
      > This CL moves the task management from the DefaultPlatform to the
      > TaskRunners.  The DefaultForegroundTaskRunner owns and manages the the
      > task queue, the delayed task  queue, and the idle task queue. The
      > DefaultBackgroundTaskRunner owns the WorkerThread pool and the
      > background task queue.
      > 
      > In addition changed many Task* to std::unique_ptr<Task> to document task
      > ownership.
      > 
      > R=​rmcilroy@chromium.org
      > 
      > Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27
      > Reviewed-on: https://chromium-review.googlesource.com/753583
      > Commit-Queue: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49354}
      
      TBR=rmcilroy@chromium.org,ahaas@chromium.org
      
      Change-Id: I6c381915a2cae8ea1a0d21d6cfa6e797ccd2d947
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/768748Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49357}
      c56cff23
    • Andreas Haas's avatar
      [platform] Implement TaskRunners in the DefaultPlatform · 8de2e6db
      Andreas Haas authored
      This CL implements the TaskRunners in the DefaultPlatform which has been
      added recently to the platform API. In addition I changed how task
      posting works on the DefaultPlatform.
      
      With this implementation the DefaultPlatform keeps one
      DefaultForegroundTaskRunner per isolate, plus one
      DefaultBackgroundTaskRunner. The DefaultPlatform owns these TaskRunners
      with a shared_ptr, which is also shared with any caller of
      GetForegroundTaskRunner or GetBackgroundTaskrunner.
      
      This CL moves the task management from the DefaultPlatform to the
      TaskRunners.  The DefaultForegroundTaskRunner owns and manages the the
      task queue, the delayed task  queue, and the idle task queue. The
      DefaultBackgroundTaskRunner owns the WorkerThread pool and the
      background task queue.
      
      In addition changed many Task* to std::unique_ptr<Task> to document task
      ownership.
      
      R=rmcilroy@chromium.org
      
      Change-Id: Ib9a01f1f45e5b48844a37d801f884210ec3f6c27
      Reviewed-on: https://chromium-review.googlesource.com/753583
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49354}
      8de2e6db