OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/tracked_objects.h" | 5 #include "base/tracked_objects.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 | 8 |
9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 // thread. | 173 // thread. |
174 | 174 |
175 // TODO(jar): We should pull all these static vars together, into a struct, and | 175 // TODO(jar): We should pull all these static vars together, into a struct, and |
176 // optimize layout so that we benefit from locality of reference during accesses | 176 // optimize layout so that we benefit from locality of reference during accesses |
177 // to them. | 177 // to them. |
178 | 178 |
179 // A TLS slot which points to the ThreadData instance for the current thread. We | 179 // A TLS slot which points to the ThreadData instance for the current thread. We |
180 // do a fake initialization here (zeroing out data), and then the real in-place | 180 // do a fake initialization here (zeroing out data), and then the real in-place |
181 // construction happens when we call tls_index_.Initialize(). | 181 // construction happens when we call tls_index_.Initialize(). |
182 // static | 182 // static |
183 base::ThreadLocalStorage::Slot ThreadData::tls_index_(base::LINKER_INITIALIZED); | 183 base::ThreadLocalStorage::StaticSlot ThreadData::tls_index_ = TLS_INITIALIZER; |
184 | 184 |
185 // static | 185 // static |
186 int ThreadData::worker_thread_data_creation_count_ = 0; | 186 int ThreadData::worker_thread_data_creation_count_ = 0; |
187 | 187 |
188 // static | 188 // static |
189 int ThreadData::cleanup_count_ = 0; | 189 int ThreadData::cleanup_count_ = 0; |
190 | 190 |
191 // static | 191 // static |
192 int ThreadData::incarnation_counter_ = 0; | 192 int ThreadData::incarnation_counter_ = 0; |
193 | 193 |
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
827 ++it) { | 827 ++it) { |
828 base::DictionaryValue* parent_child = new base::DictionaryValue; | 828 base::DictionaryValue* parent_child = new base::DictionaryValue; |
829 it->first->ToValue("parent", parent_child); | 829 it->first->ToValue("parent", parent_child); |
830 it->second->ToValue("child", parent_child); | 830 it->second->ToValue("child", parent_child); |
831 descendants->Append(parent_child); | 831 descendants->Append(parent_child); |
832 } | 832 } |
833 dictionary->Set("descendants", descendants); | 833 dictionary->Set("descendants", descendants); |
834 } | 834 } |
835 | 835 |
836 } // namespace tracked_objects | 836 } // namespace tracked_objects |
OLD | NEW |