| 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 765 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 776 // | 776 // |
| 777 // Having the CPP expansion instead be fully namespace qualified, and the | 777 // Having the CPP expansion instead be fully namespace qualified, and the |
| 778 // transition type be unqualified, would dually not work for template | 778 // transition type be unqualified, would dually not work for template |
| 779 // aliases. So, slightly unfortunately, fall back/down to the lowest | 779 // aliases. So, slightly unfortunately, fall back/down to the lowest |
| 780 // commmon denominator of using CPP macros only. | 780 // commmon denominator of using CPP macros only. |
| 781 #if ENABLE(OILPAN) | 781 #if ENABLE(OILPAN) |
| 782 #define PassRefPtrWillBeRawPtr WTF::RawPtr | 782 #define PassRefPtrWillBeRawPtr WTF::RawPtr |
| 783 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected | 783 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected |
| 784 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal
ized | 784 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal
ized |
| 785 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol
lected | 785 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol
lected |
| 786 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized WebCore::Garba
geCollectedFinalized |
| 786 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected | 787 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected |
| 787 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl
ectedFinalized | 788 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl
ectedFinalized |
| 788 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WebCore::
ThreadSafeRefCountedGarbageCollected | 789 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WebCore::
ThreadSafeRefCountedGarbageCollected |
| 789 #define TreeSharedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol
lected | 790 #define TreeSharedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol
lected |
| 790 #define PersistentWillBeMember WebCore::Member | 791 #define PersistentWillBeMember WebCore::Member |
| 791 #define RefPtrWillBePersistent WebCore::Persistent | 792 #define RefPtrWillBePersistent WebCore::Persistent |
| 792 #define RefPtrWillBeRawPtr WTF::RawPtr | 793 #define RefPtrWillBeRawPtr WTF::RawPtr |
| 793 #define RefPtrWillBeMember WebCore::Member | 794 #define RefPtrWillBeMember WebCore::Member |
| 794 #define RefPtrWillBeWeakMember WebCore::WeakMember | 795 #define RefPtrWillBeWeakMember WebCore::WeakMember |
| 795 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent | 796 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 860 return PassOwnPtrWillBeRawPtr<T>(ptr); | 861 return PassOwnPtrWillBeRawPtr<T>(ptr); |
| 861 } | 862 } |
| 862 | 863 |
| 863 template<typename T> T* adoptPtrWillBeRefCountedGarbageCollected(T* ptr) | 864 template<typename T> T* adoptPtrWillBeRefCountedGarbageCollected(T* ptr) |
| 864 { | 865 { |
| 865 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t
ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; | 866 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t
ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; |
| 866 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); | 867 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); |
| 867 return adoptRefCountedGarbageCollected(ptr); | 868 return adoptRefCountedGarbageCollected(ptr); |
| 868 } | 869 } |
| 869 | 870 |
| 871 template<typename T> T* adoptRefCountedGarbageCollectedWillBeNoop(T* ptr) |
| 872 { |
| 873 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate
<typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; |
| 874 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R
emoveConst<T>::Type, RefCounted>::value; |
| 875 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou
ntedGarbageCollected); |
| 876 COMPILE_ASSERT(notRefCounted, youMustAdopt); |
| 877 return ptr; |
| 878 } |
| 879 |
| 870 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena
bled. | 880 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena
bled. |
| 871 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 881 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| 872 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 882 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| 873 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 883 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
| 874 | 884 |
| 875 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ | 885 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ |
| 876 DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments) | 886 DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments) |
| 877 | 887 |
| 878 #else // !ENABLE(OILPAN) | 888 #else // !ENABLE(OILPAN) |
| 879 | 889 |
| 880 template<typename T> | 890 template<typename T> |
| 881 class DummyBase { | 891 class DummyBase { |
| 882 public: | 892 public: |
| 883 DummyBase() { } | 893 DummyBase() { } |
| 884 ~DummyBase() { } | 894 ~DummyBase() { } |
| 885 }; | 895 }; |
| 886 | 896 |
| 887 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr | 897 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr |
| 888 #define RefCountedWillBeGarbageCollected WTF::RefCounted | 898 #define RefCountedWillBeGarbageCollected WTF::RefCounted |
| 889 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted | 899 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted |
| 890 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted | 900 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted |
| 901 #define RefCountedGarbageCollectedWillBeGarbageCollectedFinalized WebCore::RefCo
untedGarbageCollected |
| 891 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted | 902 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted |
| 892 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo
unted | 903 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo
unted |
| 893 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre
adSafeRefCounted | 904 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre
adSafeRefCounted |
| 894 #define TreeSharedWillBeRefCountedGarbageCollected WebCore::TreeShared | 905 #define TreeSharedWillBeRefCountedGarbageCollected WebCore::TreeShared |
| 895 #define PersistentWillBeMember WebCore::Persistent | 906 #define PersistentWillBeMember WebCore::Persistent |
| 896 #define RefPtrWillBePersistent WTF::RefPtr | 907 #define RefPtrWillBePersistent WTF::RefPtr |
| 897 #define RefPtrWillBeRawPtr WTF::RefPtr | 908 #define RefPtrWillBeRawPtr WTF::RefPtr |
| 898 #define RefPtrWillBeMember WTF::RefPtr | 909 #define RefPtrWillBeMember WTF::RefPtr |
| 899 #define RefPtrWillBeWeakMember WTF::RefPtr | 910 #define RefPtrWillBeWeakMember WTF::RefPtr |
| 900 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr | 911 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder | 943 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder |
| 933 #define WillBeHeapLinkedStack WTF::LinkedStack | 944 #define WillBeHeapLinkedStack WTF::LinkedStack |
| 934 #define PersistentHeapHashSetWillBeHeapHashSet WebCore::PersistentHeapHashSet | 945 #define PersistentHeapHashSetWillBeHeapHashSet WebCore::PersistentHeapHashSet |
| 935 | 946 |
| 936 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu
rn adoptRef(ptr); } | 947 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu
rn adoptRef(ptr); } |
| 937 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo
llected(T* ptr) { return adoptRef(ptr); } | 948 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo
llected(T* ptr) { return adoptRef(ptr); } |
| 938 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte
dGarbageCollected(T* ptr) { return adoptRef(ptr); } | 949 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte
dGarbageCollected(T* ptr) { return adoptRef(ptr); } |
| 939 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu
rn adoptPtr(ptr); } | 950 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu
rn adoptPtr(ptr); } |
| 940 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeRefCountedGarbageCo
llected(T* ptr) { return adoptPtr(ptr); } | 951 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeRefCountedGarbageCo
llected(T* ptr) { return adoptPtr(ptr); } |
| 941 | 952 |
| 953 template<typename T> T* adoptRefCountedGarbageCollectedWillBeNoop(T* ptr) |
| 954 { |
| 955 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t
ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; |
| 956 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); |
| 957 return adoptRefCountedGarbageCollected(ptr); |
| 958 } |
| 959 |
| 960 |
| 942 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED | 961 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED |
| 943 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ | 962 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
| 944 public: \ | 963 public: \ |
| 945 ~type(); \ | 964 ~type(); \ |
| 946 private: | 965 private: |
| 947 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ | 966 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
| 948 public: \ | 967 public: \ |
| 949 virtual ~type(); \ | 968 virtual ~type(); \ |
| 950 private: | 969 private: |
| 951 | 970 |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1183 struct ParamStorageTraits<T*> : public PointerParamStorageTraits<T*, WebCore::Is
GarbageCollectedType<T>::value> { | 1202 struct ParamStorageTraits<T*> : public PointerParamStorageTraits<T*, WebCore::Is
GarbageCollectedType<T>::value> { |
| 1184 }; | 1203 }; |
| 1185 | 1204 |
| 1186 template<typename T> | 1205 template<typename T> |
| 1187 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, Web
Core::IsGarbageCollectedType<T>::value> { | 1206 struct ParamStorageTraits<RawPtr<T> > : public PointerParamStorageTraits<T*, Web
Core::IsGarbageCollectedType<T>::value> { |
| 1188 }; | 1207 }; |
| 1189 | 1208 |
| 1190 } // namespace WTF | 1209 } // namespace WTF |
| 1191 | 1210 |
| 1192 #endif | 1211 #endif |
| OLD | NEW |