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

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

Issue 614373007: Oilpan: Remove adoptRefCountedGarbageCollected (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
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 993 matching lines...) Expand 10 before | Expand all | Expand 10 after
1004 // aliases. So, slightly unfortunately, fall back/down to the lowest 1004 // aliases. So, slightly unfortunately, fall back/down to the lowest
1005 // commmon denominator of using CPP macros only. 1005 // commmon denominator of using CPP macros only.
1006 #if ENABLE(OILPAN) 1006 #if ENABLE(OILPAN)
1007 #define PassRefPtrWillBeRawPtr WTF::RawPtr 1007 #define PassRefPtrWillBeRawPtr WTF::RawPtr
1008 #define RefCountedWillBeGarbageCollected blink::GarbageCollected 1008 #define RefCountedWillBeGarbageCollected blink::GarbageCollected
1009 #define RefCountedWillBeGarbageCollectedFinalized blink::GarbageCollectedFinaliz ed 1009 #define RefCountedWillBeGarbageCollectedFinalized blink::GarbageCollectedFinaliz ed
1010 #define RefCountedWillBeRefCountedGarbageCollected blink::RefCountedGarbageColle cted 1010 #define RefCountedWillBeRefCountedGarbageCollected blink::RefCountedGarbageColle cted
1011 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized blink::Garbage CollectedFinalized 1011 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized blink::Garbage CollectedFinalized
1012 #define ThreadSafeRefCountedWillBeGarbageCollected blink::GarbageCollected 1012 #define ThreadSafeRefCountedWillBeGarbageCollected blink::GarbageCollected
1013 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized blink::GarbageCollec tedFinalized 1013 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized blink::GarbageCollec tedFinalized
1014 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected blink::Th readSafeRefCountedGarbageCollected
1015 #define PersistentWillBeMember blink::Member 1014 #define PersistentWillBeMember blink::Member
1016 #define CrossThreadPersistentWillBeMember blink::Member 1015 #define CrossThreadPersistentWillBeMember blink::Member
1017 #define RefPtrWillBePersistent blink::Persistent 1016 #define RefPtrWillBePersistent blink::Persistent
1018 #define RefPtrWillBeRawPtr WTF::RawPtr 1017 #define RefPtrWillBeRawPtr WTF::RawPtr
1019 #define RefPtrWillBeMember blink::Member 1018 #define RefPtrWillBeMember blink::Member
1020 #define RefPtrWillBeWeakMember blink::WeakMember 1019 #define RefPtrWillBeWeakMember blink::WeakMember
1021 #define RefPtrWillBeCrossThreadPersistent blink::CrossThreadPersistent 1020 #define RefPtrWillBeCrossThreadPersistent blink::CrossThreadPersistent
1022 #define RawPtrWillBeMember blink::Member 1021 #define RawPtrWillBeMember blink::Member
1023 #define RawPtrWillBePersistent blink::Persistent 1022 #define RawPtrWillBePersistent blink::Persistent
1024 #define RawPtrWillBeWeakMember blink::WeakMember 1023 #define RawPtrWillBeWeakMember blink::WeakMember
(...skipping 25 matching lines...) Expand all
1050 #define WillBeGarbageCollectedMixin blink::GarbageCollectedMixin 1049 #define WillBeGarbageCollectedMixin blink::GarbageCollectedMixin
1051 #define WillBeHeapSupplement blink::HeapSupplement 1050 #define WillBeHeapSupplement blink::HeapSupplement
1052 #define WillBeHeapSupplementable blink::HeapSupplementable 1051 #define WillBeHeapSupplementable blink::HeapSupplementable
1053 #define WillBeHeapTerminatedArray blink::HeapTerminatedArray 1052 #define WillBeHeapTerminatedArray blink::HeapTerminatedArray
1054 #define WillBeHeapTerminatedArrayBuilder blink::HeapTerminatedArrayBuilder 1053 #define WillBeHeapTerminatedArrayBuilder blink::HeapTerminatedArrayBuilder
1055 #define WillBeHeapLinkedStack blink::HeapLinkedStack 1054 #define WillBeHeapLinkedStack blink::HeapLinkedStack
1056 #define PersistentHeapHashSetWillBeHeapHashSet blink::HeapHashSet 1055 #define PersistentHeapHashSetWillBeHeapHashSet blink::HeapHashSet
1057 #define PersistentHeapDequeWillBeHeapDeque blink::HeapDeque 1056 #define PersistentHeapDequeWillBeHeapDeque blink::HeapDeque
1058 #define PersistentHeapVectorWillBeHeapVector blink::HeapVector 1057 #define PersistentHeapVectorWillBeHeapVector blink::HeapVector
1059 1058
1060 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) 1059 template<typename T> RawPtr<T> adoptRefWillBeNoop(T* ptr)
tkent 2014/10/02 07:59:36 RawPtr<T> -> T* ?
1061 { 1060 {
1062 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
1063 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value; 1061 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value;
1064 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
1065 COMPILE_ASSERT(notRefCounted, youMustAdopt); 1062 COMPILE_ASSERT(notRefCounted, youMustAdopt);
1066 return PassRefPtrWillBeRawPtr<T>(ptr); 1063 return RawPtr<T>(ptr);
tkent 2014/10/02 07:59:36 RawPTR<T>(ptr) -> ptr?
1067 } 1064 }
1068 1065
1069 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) 1066 template<typename T> RawPtr<T> adoptPtrWillBeNoop(T* ptr)
tkent 2014/10/02 07:59:36 Ditto.
1070 { 1067 {
1071 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
1072 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop);
1073 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
1074 }
1075
1076 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr)
1077 {
1078 static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOf Template<typename WTF::RemoveConst<T>::Type, ThreadSafeRefCountedGarbageCollecte d>::value;
1079 COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop );
1080 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
1081 }
1082
1083 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr)
1084 {
1085 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
1086 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value; 1068 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value;
1087 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
1088 COMPILE_ASSERT(notRefCounted, youMustAdopt); 1069 COMPILE_ASSERT(notRefCounted, youMustAdopt);
1089 return PassOwnPtrWillBeRawPtr<T>(ptr); 1070 return RawPtr<T>(ptr);
tkent 2014/10/02 07:59:36 Ditto.
1090 }
1091
1092 template<typename T> T* adoptPtrWillBeRefCountedGarbageCollected(T* ptr)
1093 {
1094 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
1095 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop);
1096 return adoptRefCountedGarbageCollected(ptr);
1097 }
1098
1099 template<typename T> T* adoptRefCountedGarbageCollectedWillBeNoop(T* ptr)
1100 {
1101 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
1102 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value;
1103 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
1104 COMPILE_ASSERT(notRefCounted, youMustAdopt);
1105 return ptr;
1106 } 1071 }
1107 1072
1108 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. 1073 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled.
1109 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 1074 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
1110 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 1075 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
1111 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 1076 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
1112 1077
1113 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ 1078 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \
1114 static type* name = (new Persistent<type>(arguments))->get(); 1079 static type* name = (new Persistent<type>(arguments))->get();
1115 1080
1116 #else // !ENABLE(OILPAN) 1081 #else // !ENABLE(OILPAN)
1117 1082
1118 template<typename T> 1083 template<typename T>
1119 class DummyBase { 1084 class DummyBase {
1120 public: 1085 public:
1121 DummyBase() { } 1086 DummyBase() { }
1122 ~DummyBase() { } 1087 ~DummyBase() { }
1123 }; 1088 };
1124 1089
1125 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr 1090 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr
1126 #define RefCountedWillBeGarbageCollected WTF::RefCounted 1091 #define RefCountedWillBeGarbageCollected WTF::RefCounted
1127 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted 1092 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted
1128 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted 1093 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted
1129 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized blink::RefCoun tedGarbageCollected 1094 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized blink::RefCoun tedGarbageCollected
1130 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted 1095 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted
1131 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted 1096 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted
1132 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre adSafeRefCounted
1133 #define PersistentWillBeMember blink::Persistent 1097 #define PersistentWillBeMember blink::Persistent
1134 #define CrossThreadPersistentWillBeMember blink::CrossThreadPersistent 1098 #define CrossThreadPersistentWillBeMember blink::CrossThreadPersistent
1135 #define RefPtrWillBePersistent WTF::RefPtr 1099 #define RefPtrWillBePersistent WTF::RefPtr
1136 #define RefPtrWillBeRawPtr WTF::RefPtr 1100 #define RefPtrWillBeRawPtr WTF::RefPtr
1137 #define RefPtrWillBeMember WTF::RefPtr 1101 #define RefPtrWillBeMember WTF::RefPtr
1138 #define RefPtrWillBeWeakMember WTF::RefPtr 1102 #define RefPtrWillBeWeakMember WTF::RefPtr
1139 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr 1103 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr
1140 #define RawPtrWillBeMember WTF::RawPtr 1104 #define RawPtrWillBeMember WTF::RawPtr
1141 #define RawPtrWillBePersistent WTF::RawPtr 1105 #define RawPtrWillBePersistent WTF::RawPtr
1142 #define RawPtrWillBeWeakMember WTF::RawPtr 1106 #define RawPtrWillBeWeakMember WTF::RawPtr
(...skipping 26 matching lines...) Expand all
1169 #define WillBeHeapSupplement blink::Supplement 1133 #define WillBeHeapSupplement blink::Supplement
1170 #define WillBeHeapSupplementable blink::Supplementable 1134 #define WillBeHeapSupplementable blink::Supplementable
1171 #define WillBeHeapTerminatedArray WTF::TerminatedArray 1135 #define WillBeHeapTerminatedArray WTF::TerminatedArray
1172 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder 1136 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder
1173 #define WillBeHeapLinkedStack WTF::LinkedStack 1137 #define WillBeHeapLinkedStack WTF::LinkedStack
1174 #define PersistentHeapHashSetWillBeHeapHashSet blink::PersistentHeapHashSet 1138 #define PersistentHeapHashSetWillBeHeapHashSet blink::PersistentHeapHashSet
1175 #define PersistentHeapDequeWillBeHeapDeque blink::PersistentHeapDeque 1139 #define PersistentHeapDequeWillBeHeapDeque blink::PersistentHeapDeque
1176 #define PersistentHeapVectorWillBeHeapVector blink::PersistentHeapVector 1140 #define PersistentHeapVectorWillBeHeapVector blink::PersistentHeapVector
1177 1141
1178 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); } 1142 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); }
1179 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); }
1180 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); }
1181 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); } 1143 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); }
1182 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeRefCountedGarbageCo llected(T* ptr) { return adoptPtr(ptr); }
1183
1184 template<typename T> T* adoptRefCountedGarbageCollectedWillBeNoop(T* ptr)
1185 {
1186 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
1187 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop);
1188 return adoptRefCountedGarbageCollected(ptr);
1189 }
1190
1191 1144
1192 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED 1145 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED
1193 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ 1146 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \
1194 public: \ 1147 public: \
1195 ~type(); \ 1148 ~type(); \
1196 private: 1149 private:
1197 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ 1150 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \
1198 public: \ 1151 public: \
1199 virtual ~type(); \ 1152 virtual ~type(); \
1200 private: 1153 private:
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
1394 struct ParamStorageTraits<T*> : public PointerParamStorageTraits<T*, blink::IsGa rbageCollectedType<T>::value> { 1347 struct ParamStorageTraits<T*> : public PointerParamStorageTraits<T*, blink::IsGa rbageCollectedType<T>::value> {
1395 }; 1348 };
1396 1349
1397 template<typename T> 1350 template<typename T>
1398 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, bli nk::IsGarbageCollectedType<T>::value> { 1351 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, bli nk::IsGarbageCollectedType<T>::value> {
1399 }; 1352 };
1400 1353
1401 } // namespace WTF 1354 } // namespace WTF
1402 1355
1403 #endif 1356 #endif
OLDNEW
« no previous file with comments | « Source/modules/websockets/WorkerThreadableWebSocketChannel.h ('k') | Source/platform/heap/Heap.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698