Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc

Issue 2419793002: [Reland] Optimize blink scheduler with an intrusive heap (Closed)
Patch Set: Fix bug in MoveHoleDown Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/scheduler/base/task_queue_impl.h" 5 #include "platform/scheduler/base/task_queue_impl.h"
6 6
7 #include "base/trace_event/blame_context.h" 7 #include "base/trace_event/blame_context.h"
8 #include "platform/scheduler/base/task_queue_manager.h" 8 #include "platform/scheduler/base/task_queue_manager.h"
9 #include "platform/scheduler/base/task_queue_manager_delegate.h" 9 #include "platform/scheduler/base/task_queue_manager_delegate.h"
10 #include "platform/scheduler/base/time_domain.h" 10 #include "platform/scheduler/base/time_domain.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 96
97 TaskQueueImpl::MainThreadOnly::MainThreadOnly( 97 TaskQueueImpl::MainThreadOnly::MainThreadOnly(
98 TaskQueueManager* task_queue_manager, 98 TaskQueueManager* task_queue_manager,
99 TaskQueueImpl* task_queue, 99 TaskQueueImpl* task_queue,
100 TimeDomain* time_domain) 100 TimeDomain* time_domain)
101 : task_queue_manager(task_queue_manager), 101 : task_queue_manager(task_queue_manager),
102 time_domain(time_domain), 102 time_domain(time_domain),
103 delayed_work_queue(new WorkQueue(task_queue, "delayed")), 103 delayed_work_queue(new WorkQueue(task_queue, "delayed")),
104 immediate_work_queue(new WorkQueue(task_queue, "immediate")), 104 immediate_work_queue(new WorkQueue(task_queue, "immediate")),
105 set_index(0), 105 set_index(0),
106 heap_index(0),
106 is_enabled(true), 107 is_enabled(true),
107 blame_context(nullptr), 108 blame_context(nullptr),
108 current_fence(0) {} 109 current_fence(0) {}
109 110
110 TaskQueueImpl::MainThreadOnly::~MainThreadOnly() {} 111 TaskQueueImpl::MainThreadOnly::~MainThreadOnly() {}
111 112
112 void TaskQueueImpl::UnregisterTaskQueue() { 113 void TaskQueueImpl::UnregisterTaskQueue() {
113 base::AutoLock lock(any_thread_lock_); 114 base::AutoLock lock(any_thread_lock_);
114 if (main_thread_only().time_domain) 115 if (main_thread_only().time_domain)
115 main_thread_only().time_domain->UnregisterQueue(this); 116 main_thread_only().time_domain->UnregisterQueue(this);
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 state->SetBoolean("is_cancelled", task.task.IsCancelled()); 697 state->SetBoolean("is_cancelled", task.task.IsCancelled());
697 state->SetDouble( 698 state->SetDouble(
698 "delayed_run_time", 699 "delayed_run_time",
699 (task.delayed_run_time - base::TimeTicks()).InMicroseconds() / 1000.0L); 700 (task.delayed_run_time - base::TimeTicks()).InMicroseconds() / 1000.0L);
700 state->EndDictionary(); 701 state->EndDictionary();
701 } 702 }
702 703
703 } // namespace internal 704 } // namespace internal
704 } // namespace scheduler 705 } // namespace scheduler
705 } // namespace blink 706 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698