- 06 May, 2020 1 commit
-
-
Andreas Haas authored
On the PredictablePlatform, worker tasks were executed immediately instead of posting them in a task queue first. This approach caused problems because the execution of the worker task blocked progress of the posting task, and the worker task was always executed in the context of the posting task, e.g. with an already open HandleScope. With this CL, worker tasks get posted into the foreground task queue of the nullptr isolate instead of executing them immediately. The tasks of the nullptr isolate are then executed after a task of some other task queue is executed. As the worker tasks are thereby executed on the same thread as foreground tasks, the behavior is deterministic. A consequence of this approach is that each pumping the message loop of an Isolate may also execute other Isolate's background tasks. This approach is needed because we don't have a BackgroundTaskRunner but merely a CallOnWorkerThread method that doesn't know which Isolate the task corresponds to. R=clemensb@chromium.org, mlippautz@chromium.org Bug: v8:9670 Change-Id: I6847ae042146431bc2376d27280be8829f529b95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182453 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#67616}
-
- 15 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I404e34a013b95c6a7cf03dd9ec0732d9ad796bdc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613238 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61531}
-
- 09 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
This flag stresses different interleavings of background and foreground tasks by delaying the execution of each task by a random value between 0 and 100ms (with a quadratic distribution favoring smaller delayes). The implementation is encapsulated in the new {DelayedTasksPlatform} class, which wraps each task in a {DelayedTask} which first sleeps for the given number of microseconds, then executes the actual task. Both the old {PredictablePlatform} and the new {DelayedTasksPlatform} are moved to the new d8-platforms.cc file with an interface to create them in d8-platforms.h. R=yangguo@chromium.org, mslekova@chromium.org Bug: v8:8278 Change-Id: I5847fb2da31ffde773195da7ad3f56a0390cc05b Reviewed-on: https://chromium-review.googlesource.com/c/1270592 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#56496}
-