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

Side by Side Diff: Source/platform/heap/Handle.h

Issue 783823002: Oilpan: enable eager tracing. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Tidying + add a test for marking stack fallback Created 6 years 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/platform/heap/HeapLinkedStack.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014 Google Inc. All rights reserved. 2 * Copyright (C) 2014 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after
969 969
970 template<typename T> 970 template<typename T>
971 class TraceEagerlyTrait<CrossThreadPersistent<T>> { 971 class TraceEagerlyTrait<CrossThreadPersistent<T>> {
972 public: 972 public:
973 static const bool value = TraceEagerlyTrait<T>::value; 973 static const bool value = TraceEagerlyTrait<T>::value;
974 }; 974 };
975 975
976 template<typename T, typename U, typename V, typename W, typename X> 976 template<typename T, typename U, typename V, typename W, typename X>
977 class TraceEagerlyTrait<HeapHashMap<T, U, V, W, X> > { 977 class TraceEagerlyTrait<HeapHashMap<T, U, V, W, X> > {
978 public: 978 public:
979 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T) || IS_EAGERLY _TRACED_HEAP_COLLECTION(U); 979 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e || TraceEagerlyTrait<U>::value;
980 }; 980 };
981 981
982 template<typename T, typename U, typename V> 982 template<typename T, typename U, typename V>
983 class TraceEagerlyTrait<HeapHashSet<T, U, V> > { 983 class TraceEagerlyTrait<HeapHashSet<T, U, V> > {
984 public: 984 public:
985 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T); 985 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e;
986 }; 986 };
987 987
988 template<typename T, typename U, typename V> 988 template<typename T, typename U, typename V>
989 class TraceEagerlyTrait<HeapLinkedHashSet<T, U, V> > { 989 class TraceEagerlyTrait<HeapLinkedHashSet<T, U, V> > {
990 public: 990 public:
991 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T); 991 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e;
992 }; 992 };
993 993
994 template<typename T, size_t inlineCapacity, typename U> 994 template<typename T, size_t inlineCapacity, typename U>
995 class TraceEagerlyTrait<HeapListHashSet<T, inlineCapacity, U> > { 995 class TraceEagerlyTrait<HeapListHashSet<T, inlineCapacity, U> > {
996 public: 996 public:
997 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T); 997 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e;
998 };
999
1000 template<typename T, size_t inlineCapacity>
1001 class TraceEagerlyTrait<WTF::ListHashSetNode<T, HeapListHashSetAllocator<T, inli neCapacity>>> {
1002 public:
1003 static const bool value = false;
998 }; 1004 };
999 1005
1000 template<typename T, size_t inlineCapacity> 1006 template<typename T, size_t inlineCapacity>
1001 class TraceEagerlyTrait<HeapVector<T, inlineCapacity> > { 1007 class TraceEagerlyTrait<HeapVector<T, inlineCapacity> > {
1002 public: 1008 public:
1003 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T); 1009 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e;
1004 }; 1010 };
1005 1011
1006 template<typename T, typename U> 1012 template<typename T, typename U>
1007 class TraceEagerlyTrait<HeapVectorBacking<T, U> > { 1013 class TraceEagerlyTrait<HeapVectorBacking<T, U> > {
1008 public: 1014 public:
1009 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T); 1015 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e;
1010 }; 1016 };
1011 1017
1012 template<typename T, size_t inlineCapacity> 1018 template<typename T, size_t inlineCapacity>
1013 class TraceEagerlyTrait<HeapDeque<T, inlineCapacity> > { 1019 class TraceEagerlyTrait<HeapDeque<T, inlineCapacity> > {
1014 public: 1020 public:
1015 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T); 1021 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e;
1016 }; 1022 };
1017 1023
1018 template<typename T, typename U, typename V> 1024 template<typename T, typename U, typename V>
1019 class TraceEagerlyTrait<HeapHashCountedSet<T, U, V> > { 1025 class TraceEagerlyTrait<HeapHashCountedSet<T, U, V> > {
1020 public: 1026 public:
1021 static const bool value = IS_EAGERLY_TRACED_HEAP_COLLECTION(T); 1027 static const bool value = MARKER_EAGER_TRACING || TraceEagerlyTrait<T>::valu e;
1022 }; 1028 };
1023 1029
1024 } // namespace blink 1030 } // namespace blink
1025 1031
1026 namespace WTF { 1032 namespace WTF {
1027 1033
1028 template <typename T> struct VectorTraits<blink::Member<T> > : VectorTraitsBase< blink::Member<T> > { 1034 template <typename T> struct VectorTraits<blink::Member<T> > : VectorTraitsBase< blink::Member<T> > {
1029 static const bool needsDestruction = false; 1035 static const bool needsDestruction = false;
1030 static const bool canInitializeWithMemset = true; 1036 static const bool canInitializeWithMemset = true;
1031 static const bool canMoveWithMemcpy = true; 1037 static const bool canMoveWithMemcpy = true;
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
1211 template<typename T> 1217 template<typename T>
1212 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, bli nk::IsGarbageCollectedType<T>::value> { 1218 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, bli nk::IsGarbageCollectedType<T>::value> {
1213 }; 1219 };
1214 1220
1215 template<typename T> 1221 template<typename T>
1216 PassRefPtr<T> adoptRef(blink::RefCountedGarbageCollected<T>*) = delete; 1222 PassRefPtr<T> adoptRef(blink::RefCountedGarbageCollected<T>*) = delete;
1217 1223
1218 } // namespace WTF 1224 } // namespace WTF
1219 1225
1220 #endif 1226 #endif
OLDNEW
« no previous file with comments | « no previous file | Source/platform/heap/HeapLinkedStack.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698