Chromium Code Reviews| Index: Source/platform/heap/Handle.h |
| diff --git a/Source/platform/heap/Handle.h b/Source/platform/heap/Handle.h |
| index a1517894c269b3527aeb10bb93cc85e8a1508d2a..be3956026ccdfec87aa5c8511a345706a131b253 100644 |
| --- a/Source/platform/heap/Handle.h |
| +++ b/Source/platform/heap/Handle.h |
| @@ -733,6 +733,7 @@ template<typename T, typename U> inline bool operator!=(const Persistent<T>& a, |
| #define RefCountedSupplementWillBeRefCountedGarbageCollectedSupplement WebCore::RefCountedGarbageCollectedSupplement |
| #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected |
| #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized |
| +#define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WebCore::ThreadSafeRefCountedGarbageCollected |
| #define PersistentWillBeMember WebCore::Member |
| #define RefPtrWillBePersistent WebCore::Persistent |
| #define RefPtrWillBeRawPtr WTF::RawPtr |
| @@ -746,6 +747,7 @@ template<typename T, typename U> inline bool operator!=(const Persistent<T>& a, |
| #define PassOwnPtrWillBeRawPtr WTF::RawPtr |
| #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected |
| #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized |
| +#define NoBaseWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCollected |
|
Mads Ager (chromium)
2014/04/24 09:05:37
I don't think this is used in this changelist and
keishi
2014/05/06 20:00:03
Done.
|
| #define WillBeHeapHashMap WebCore::HeapHashMap |
| #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap |
| #define WillBeHeapHashSet WebCore::HeapHashSet |
| @@ -779,6 +781,13 @@ template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo |
| return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); |
| } |
| +template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCountedGarbageCollected(T* ptr) |
| +{ |
| + static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T, ThreadSafeRefCountedGarbageCollected>::value; |
| + COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop); |
| + return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); |
| +} |
| + |
| template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) |
| { |
| static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate<T, RefCountedGarbageCollected>::value; |
| @@ -793,6 +802,9 @@ template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) |
| #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| +#define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ |
| + DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments) |
| + |
| #else // !ENABLE(OILPAN) |
| template<typename T> |
| @@ -809,6 +821,7 @@ public: |
| #define RefCountedSupplementWillBeRefCountedGarbageCollectedSupplement WebCore::RefCountedSupplement |
| #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted |
| #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCounted |
| +#define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::ThreadSafeRefCounted |
| #define PersistentWillBeMember WebCore::Persistent |
| #define RefPtrWillBePersistent WTF::RefPtr |
| #define RefPtrWillBeRawPtr WTF::RefPtr |
| @@ -822,6 +835,7 @@ public: |
| #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr |
| #define NoBaseWillBeGarbageCollected WebCore::DummyBase |
| #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase |
| +#define NoBaseWillBeRefCountedGarbageCollected WebCore::DummyBase |
|
Mads Ager (chromium)
2014/04/24 09:05:37
Ditto.
keishi
2014/05/06 20:00:03
Done.
|
| #define WillBeHeapHashMap WTF::HashMap |
| #define WillBePersistentHeapHashMap WTF::HashMap |
| #define WillBeHeapHashSet WTF::HashSet |
| @@ -841,6 +855,7 @@ public: |
| template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { return adoptRef(ptr); } |
| template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCollected(T* ptr) { return adoptRef(ptr); } |
| +template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCountedGarbageCollected(T* ptr) { return adoptRef(ptr); } |
| template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { return adoptPtr(ptr); } |
| #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED |
| @@ -856,6 +871,9 @@ template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu |
| #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
| type::~type() { } |
| +#define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ |
| + DEFINE_STATIC_REF(type, name, arguments) |
| + |
|
haraken
2014/04/23 12:52:09
Shall we land this macro ahead of time? Recently I
|
| #endif // ENABLE(OILPAN) |
| } // namespace WebCore |