| Index: third_party/WebKit/Source/platform/scheduler/base/work_queue.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/base/work_queue.cc b/third_party/WebKit/Source/platform/scheduler/base/work_queue.cc
|
| index f5b49d20381796bb1679ec5adf085c9a48de9460..cbef02f3c299b46c3e2b217d937713948fecdc09 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/base/work_queue.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/base/work_queue.cc
|
| @@ -50,7 +50,8 @@ bool WorkQueue::BlockedByFence() const {
|
| // If the queue is empty then any future tasks will have a higher enqueue
|
| // order and will be blocked. The queue is also blocked if the head is past
|
| // the fence.
|
| - return work_queue_.empty() || work_queue_.front().enqueue_order() > fence_;
|
| + return work_queue_.empty() ||
|
| + work_queue_.front().enqueue_order().sequence_num > fence_;
|
| }
|
|
|
| bool WorkQueue::GetFrontTaskEnqueueOrder(EnqueueOrder* enqueue_order) const {
|
| @@ -67,9 +68,6 @@ bool WorkQueue::GetFrontTaskEnqueueOrder(EnqueueOrder* enqueue_order) const {
|
|
|
| void WorkQueue::Push(TaskQueueImpl::Task task) {
|
| bool was_empty = work_queue_.empty();
|
| -#ifndef NDEBUG
|
| - DCHECK(task.enqueue_order_set());
|
| -#endif
|
|
|
| // Amoritized O(1).
|
| work_queue_.push_back(std::move(task));
|
| @@ -131,9 +129,11 @@ void WorkQueue::AssignSetIndex(size_t work_queue_set_index) {
|
| work_queue_set_index_ = work_queue_set_index;
|
| }
|
|
|
| -bool WorkQueue::InsertFence(EnqueueOrder fence) {
|
| +bool WorkQueue::InsertFence(SequenceNumber fence) {
|
| DCHECK_NE(fence, 0u);
|
| - DCHECK(fence >= fence_ || fence == 1u);
|
| + DCHECK(fence >= fence_ ||
|
| + fence == static_cast<SequenceNumber>(
|
| + EnqueueOrderSequenceNumberValues::BLOCKING_FENCE));
|
| bool was_blocked_by_fence = BlockedByFence();
|
| fence_ = fence;
|
| // Moving the fence forward may unblock some tasks.
|
| @@ -161,8 +161,8 @@ bool WorkQueue::RemoveFence() {
|
| bool WorkQueue::ShouldRunBefore(const WorkQueue* other_queue) const {
|
| DCHECK(!work_queue_.empty());
|
| DCHECK(!other_queue->work_queue_.empty());
|
| - EnqueueOrder enqueue_order = 0;
|
| - EnqueueOrder other_enqueue_order = 0;
|
| + EnqueueOrder enqueue_order;
|
| + EnqueueOrder other_enqueue_order;
|
| bool have_task = GetFrontTaskEnqueueOrder(&enqueue_order);
|
| bool have_other_task =
|
| other_queue->GetFrontTaskEnqueueOrder(&other_enqueue_order);
|
|
|