| OLD | NEW |
| 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 Loading... |
| 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 26 matching lines...) Expand all Loading... |
| 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 PersistentHeapHashMapWillBeHeapHashMap blink::HeapHashMap | 1055 #define PersistentHeapHashMapWillBeHeapHashMap blink::HeapHashMap |
| 1057 #define PersistentHeapHashSetWillBeHeapHashSet blink::HeapHashSet | 1056 #define PersistentHeapHashSetWillBeHeapHashSet blink::HeapHashSet |
| 1058 #define PersistentHeapDequeWillBeHeapDeque blink::HeapDeque | 1057 #define PersistentHeapDequeWillBeHeapDeque blink::HeapDeque |
| 1059 #define PersistentHeapVectorWillBeHeapVector blink::HeapVector | 1058 #define PersistentHeapVectorWillBeHeapVector blink::HeapVector |
| 1060 | 1059 |
| 1061 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) | 1060 template<typename T> T* adoptRefWillBeNoop(T* ptr) |
| 1062 { | 1061 { |
| 1063 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate
<typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; | |
| 1064 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R
emoveConst<T>::Type, RefCounted>::value; | 1062 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R
emoveConst<T>::Type, RefCounted>::value; |
| 1065 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou
ntedGarbageCollected); | |
| 1066 COMPILE_ASSERT(notRefCounted, youMustAdopt); | |
| 1067 return PassRefPtrWillBeRawPtr<T>(ptr); | |
| 1068 } | |
| 1069 | |
| 1070 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo
llected(T* ptr) | |
| 1071 { | |
| 1072 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t
ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; | |
| 1073 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); | |
| 1074 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); | |
| 1075 } | |
| 1076 | |
| 1077 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte
dGarbageCollected(T* ptr) | |
| 1078 { | |
| 1079 static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOf
Template<typename WTF::RemoveConst<T>::Type, ThreadSafeRefCountedGarbageCollecte
d>::value; | |
| 1080 COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop
); | |
| 1081 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); | |
| 1082 } | |
| 1083 | |
| 1084 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) | |
| 1085 { | |
| 1086 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate
<typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; | |
| 1087 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R
emoveConst<T>::Type, RefCounted>::value; | |
| 1088 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou
ntedGarbageCollected); | |
| 1089 COMPILE_ASSERT(notRefCounted, youMustAdopt); | |
| 1090 return PassOwnPtrWillBeRawPtr<T>(ptr); | |
| 1091 } | |
| 1092 | |
| 1093 template<typename T> T* adoptPtrWillBeRefCountedGarbageCollected(T* ptr) | |
| 1094 { | |
| 1095 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t
ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; | |
| 1096 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); | |
| 1097 return adoptRefCountedGarbageCollected(ptr); | |
| 1098 } | |
| 1099 | |
| 1100 template<typename T> T* adoptRefCountedGarbageCollectedWillBeNoop(T* ptr) | |
| 1101 { | |
| 1102 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate
<typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; | |
| 1103 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R
emoveConst<T>::Type, RefCounted>::value; | |
| 1104 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou
ntedGarbageCollected); | |
| 1105 COMPILE_ASSERT(notRefCounted, youMustAdopt); | 1063 COMPILE_ASSERT(notRefCounted, youMustAdopt); |
| 1106 return ptr; | 1064 return ptr; |
| 1107 } | 1065 } |
| 1066 |
| 1067 template<typename T> T* adoptPtrWillBeNoop(T* ptr) |
| 1068 { |
| 1069 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R
emoveConst<T>::Type, RefCounted>::value; |
| 1070 COMPILE_ASSERT(notRefCounted, youMustAdopt); |
| 1071 return ptr; |
| 1072 } |
| 1108 | 1073 |
| 1109 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena
bled. | 1074 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena
bled. |
| 1110 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 1075 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| 1111 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 1076 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| 1112 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 1077 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| 1113 | 1078 |
| 1114 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ | 1079 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ |
| 1115 static type* name = (new Persistent<type>(arguments))->get(); | 1080 static type* name = (new Persistent<type>(arguments))->get(); |
| 1116 | 1081 |
| 1117 #else // !ENABLE(OILPAN) | 1082 #else // !ENABLE(OILPAN) |
| 1118 | 1083 |
| 1119 template<typename T> | 1084 template<typename T> |
| 1120 class DummyBase { | 1085 class DummyBase { |
| 1121 public: | 1086 public: |
| 1122 DummyBase() { } | 1087 DummyBase() { } |
| 1123 ~DummyBase() { } | 1088 ~DummyBase() { } |
| 1124 }; | 1089 }; |
| 1125 | 1090 |
| 1126 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr | 1091 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr |
| 1127 #define RefCountedWillBeGarbageCollected WTF::RefCounted | 1092 #define RefCountedWillBeGarbageCollected WTF::RefCounted |
| 1128 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted | 1093 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted |
| 1129 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted | 1094 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted |
| 1130 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized blink::RefCoun
tedGarbageCollected | 1095 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized blink::RefCoun
tedGarbageCollected |
| 1131 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted | 1096 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted |
| 1132 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo
unted | 1097 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo
unted |
| 1133 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre
adSafeRefCounted | |
| 1134 #define PersistentWillBeMember blink::Persistent | 1098 #define PersistentWillBeMember blink::Persistent |
| 1135 #define CrossThreadPersistentWillBeMember blink::CrossThreadPersistent | 1099 #define CrossThreadPersistentWillBeMember blink::CrossThreadPersistent |
| 1136 #define RefPtrWillBePersistent WTF::RefPtr | 1100 #define RefPtrWillBePersistent WTF::RefPtr |
| 1137 #define RefPtrWillBeRawPtr WTF::RefPtr | 1101 #define RefPtrWillBeRawPtr WTF::RefPtr |
| 1138 #define RefPtrWillBeMember WTF::RefPtr | 1102 #define RefPtrWillBeMember WTF::RefPtr |
| 1139 #define RefPtrWillBeWeakMember WTF::RefPtr | 1103 #define RefPtrWillBeWeakMember WTF::RefPtr |
| 1140 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr | 1104 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr |
| 1141 #define RawPtrWillBeMember WTF::RawPtr | 1105 #define RawPtrWillBeMember WTF::RawPtr |
| 1142 #define RawPtrWillBePersistent WTF::RawPtr | 1106 #define RawPtrWillBePersistent WTF::RawPtr |
| 1143 #define RawPtrWillBeWeakMember WTF::RawPtr | 1107 #define RawPtrWillBeWeakMember WTF::RawPtr |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1171 #define WillBeHeapSupplementable blink::Supplementable | 1135 #define WillBeHeapSupplementable blink::Supplementable |
| 1172 #define WillBeHeapTerminatedArray WTF::TerminatedArray | 1136 #define WillBeHeapTerminatedArray WTF::TerminatedArray |
| 1173 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder | 1137 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder |
| 1174 #define WillBeHeapLinkedStack WTF::LinkedStack | 1138 #define WillBeHeapLinkedStack WTF::LinkedStack |
| 1175 #define PersistentHeapHashMapWillBeHeapHashMap blink::PersistentHeapHashMap | 1139 #define PersistentHeapHashMapWillBeHeapHashMap blink::PersistentHeapHashMap |
| 1176 #define PersistentHeapHashSetWillBeHeapHashSet blink::PersistentHeapHashSet | 1140 #define PersistentHeapHashSetWillBeHeapHashSet blink::PersistentHeapHashSet |
| 1177 #define PersistentHeapDequeWillBeHeapDeque blink::PersistentHeapDeque | 1141 #define PersistentHeapDequeWillBeHeapDeque blink::PersistentHeapDeque |
| 1178 #define PersistentHeapVectorWillBeHeapVector blink::PersistentHeapVector | 1142 #define PersistentHeapVectorWillBeHeapVector blink::PersistentHeapVector |
| 1179 | 1143 |
| 1180 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu
rn adoptRef(ptr); } | 1144 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu
rn adoptRef(ptr); } |
| 1181 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo
llected(T* ptr) { return adoptRef(ptr); } | |
| 1182 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte
dGarbageCollected(T* ptr) { return adoptRef(ptr); } | |
| 1183 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu
rn adoptPtr(ptr); } | 1145 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu
rn adoptPtr(ptr); } |
| 1184 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeRefCountedGarbageCo
llected(T* ptr) { return adoptPtr(ptr); } | |
| 1185 | |
| 1186 template<typename T> T* adoptRefCountedGarbageCollectedWillBeNoop(T* ptr) | |
| 1187 { | |
| 1188 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t
ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; | |
| 1189 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); | |
| 1190 return adoptRefCountedGarbageCollected(ptr); | |
| 1191 } | |
| 1192 | |
| 1193 | 1146 |
| 1194 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED | 1147 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED |
| 1195 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ | 1148 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
| 1196 public: \ | 1149 public: \ |
| 1197 ~type(); \ | 1150 ~type(); \ |
| 1198 private: | 1151 private: |
| 1199 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ | 1152 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
| 1200 public: \ | 1153 public: \ |
| 1201 virtual ~type(); \ | 1154 virtual ~type(); \ |
| 1202 private: | 1155 private: |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1396 struct ParamStorageTraits<T*> : public PointerParamStorageTraits<T*, blink::IsGa
rbageCollectedType<T>::value> { | 1349 struct ParamStorageTraits<T*> : public PointerParamStorageTraits<T*, blink::IsGa
rbageCollectedType<T>::value> { |
| 1397 }; | 1350 }; |
| 1398 | 1351 |
| 1399 template<typename T> | 1352 template<typename T> |
| 1400 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, bli
nk::IsGarbageCollectedType<T>::value> { | 1353 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, bli
nk::IsGarbageCollectedType<T>::value> { |
| 1401 }; | 1354 }; |
| 1402 | 1355 |
| 1403 } // namespace WTF | 1356 } // namespace WTF |
| 1404 | 1357 |
| 1405 #endif | 1358 #endif |
| OLD | NEW |