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

Side by Side Diff: third_party/WebKit/Source/platform/heap/TraceTraits.h

Issue 2592063002: SameThreadCheckedMember<>: verify same-thread usage of heap references. (Closed)
Patch Set: emphasize that the extended Member is for diagnosing/debugging Created 3 years, 12 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 #ifndef TraceTraits_h 5 #ifndef TraceTraits_h
6 #define TraceTraits_h 6 #define TraceTraits_h
7 7
8 #include "platform/heap/GCInfo.h" 8 #include "platform/heap/GCInfo.h"
9 #include "platform/heap/Heap.h" 9 #include "platform/heap/Heap.h"
10 #include "platform/heap/InlinedGlobalMarkingVisitor.h" 10 #include "platform/heap/InlinedGlobalMarkingVisitor.h"
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 353
354 template <typename T> 354 template <typename T>
355 class TraceEagerlyTrait<Member<T>> { 355 class TraceEagerlyTrait<Member<T>> {
356 STATIC_ONLY(TraceEagerlyTrait); 356 STATIC_ONLY(TraceEagerlyTrait);
357 357
358 public: 358 public:
359 static const bool value = TraceEagerlyTrait<T>::value; 359 static const bool value = TraceEagerlyTrait<T>::value;
360 }; 360 };
361 361
362 template <typename T> 362 template <typename T>
363 class TraceEagerlyTrait<SameThreadCheckedMember<T>> {
364 STATIC_ONLY(TraceEagerlyTrait);
365
366 public:
367 static const bool value = TraceEagerlyTrait<T>::value;
368 };
369
370 template <typename T>
363 class TraceEagerlyTrait<TraceWrapperMember<T>> { 371 class TraceEagerlyTrait<TraceWrapperMember<T>> {
364 STATIC_ONLY(TraceEagerlyTrait); 372 STATIC_ONLY(TraceEagerlyTrait);
365 373
366 public: 374 public:
367 static const bool value = TraceEagerlyTrait<T>::value; 375 static const bool value = TraceEagerlyTrait<T>::value;
368 }; 376 };
369 377
370 template <typename T> 378 template <typename T>
371 class TraceEagerlyTrait<WeakMember<T>> { 379 class TraceEagerlyTrait<WeakMember<T>> {
372 STATIC_ONLY(TraceEagerlyTrait); 380 STATIC_ONLY(TraceEagerlyTrait);
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 // since iterating over the hash table backing will find the whole 780 // since iterating over the hash table backing will find the whole
773 // chain. 781 // chain.
774 visitor->markNoTracing(node); 782 visitor->markNoTracing(node);
775 return false; 783 return false;
776 } 784 }
777 }; 785 };
778 786
779 } // namespace WTF 787 } // namespace WTF
780 788
781 #endif 789 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/heap/ThreadingTraits.h ('k') | third_party/WebKit/Source/platform/heap/Visitor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698