14 std::shared_ptr<DefaultForegroundTaskRunner> task_runner)
15 : task_runner_(task_runner) {
16 DCHECK_GE(task_runner->nesting_depth_, 0);
17 task_runner->nesting_depth_++;
21 DCHECK_GT(task_runner_->nesting_depth_, 0);
22 task_runner_->nesting_depth_--;
33 std::deque<TaskQueueEntry> obsolete_tasks;
34 std::priority_queue<DelayedEntry, std::vector<DelayedEntry>,
36 obsolete_delayed_tasks;
37 std::queue<std::unique_ptr<IdleTask>> obsolete_idle_tasks;
45 while (!obsolete_tasks.empty()) obsolete_tasks.pop_front();
46 while (!obsolete_delayed_tasks.empty()) obsolete_delayed_tasks.pop();
47 while (!obsolete_idle_tasks.empty()) obsolete_idle_tasks.pop();
51 std::unique_ptr<Task> task,
Nestability nestability) {
54 task_queue_.push_back(std::make_pair(nestability, std::move(task)));
70 std::unique_ptr<Task> task,
double delay_in_seconds,
81 std::unique_ptr<Task> task,
double delay_in_seconds,
88 std::unique_ptr<Task> task,
double delay_in_seconds,
128std::vector<std::unique_ptr<Task>>
131 std::vector<std::unique_ptr<Task>> expired_tasks_to_delete;
132 while (std::unique_ptr<Task> task =
135 if (to_delete) expired_tasks_to_delete.emplace_back(std::move(to_delete));
137 return expired_tasks_to_delete;
142 std::vector<std::unique_ptr<Task>> tasks_to_delete;
150 tasks_to_delete.insert(tasks_to_delete.end(),
151 std::make_move_iterator(new_tasks_to_delete.begin()),
152 std::make_move_iterator(new_tasks_to_delete.end()));
162 std::unique_ptr<Task> task = std::move(it->second);
183 std::unique_ptr<Task> task = std::move(
const_cast<DelayedEntry&
>(entry).task);
205 if (time_until_task > 0) {
bool WaitFor(Mutex *mutex, const TimeDelta &rel_time) V8_WARN_UNUSED_RESULT
V8_INLINE void AssertHeld() const
static constexpr int64_t kMicrosecondsPerSecond
static constexpr TimeDelta FromMicroseconds(int64_t microseconds)
#define DCHECK_GE(v1, v2)
#define CHECK_EQ(lhs, rhs)
#define DCHECK(condition)
#define DCHECK_GT(v1, v2)