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 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
726 // aliases. So, slightly unfortunately, fall back/down to the lowest | 726 // aliases. So, slightly unfortunately, fall back/down to the lowest |
727 // commmon denominator of using CPP macros only. | 727 // commmon denominator of using CPP macros only. |
728 #if ENABLE(OILPAN) | 728 #if ENABLE(OILPAN) |
729 #define PassRefPtrWillBeRawPtr WTF::RawPtr | 729 #define PassRefPtrWillBeRawPtr WTF::RawPtr |
730 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected | 730 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected |
731 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal ized | 731 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal ized |
732 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol lected | 732 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol lected |
733 #define RefCountedSupplementWillBeRefCountedGarbageCollectedSupplement WebCore:: RefCountedGarbageCollectedSupplement | 733 #define RefCountedSupplementWillBeRefCountedGarbageCollectedSupplement WebCore:: RefCountedGarbageCollectedSupplement |
734 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected | 734 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected |
735 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl ectedFinalized | 735 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl ectedFinalized |
736 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WebCore:: ThreadSafeRefCountedGarbageCollected | |
736 #define PersistentWillBeMember WebCore::Member | 737 #define PersistentWillBeMember WebCore::Member |
737 #define RefPtrWillBePersistent WebCore::Persistent | 738 #define RefPtrWillBePersistent WebCore::Persistent |
738 #define RefPtrWillBeRawPtr WTF::RawPtr | 739 #define RefPtrWillBeRawPtr WTF::RawPtr |
739 #define RefPtrWillBeMember WebCore::Member | 740 #define RefPtrWillBeMember WebCore::Member |
740 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent | 741 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent |
741 #define RawPtrWillBeMember WebCore::Member | 742 #define RawPtrWillBeMember WebCore::Member |
742 #define RawPtrWillBeWeakMember WebCore::WeakMember | 743 #define RawPtrWillBeWeakMember WebCore::WeakMember |
743 #define OwnPtrWillBeMember WebCore::Member | 744 #define OwnPtrWillBeMember WebCore::Member |
744 #define OwnPtrWillBePersistent WebCore::Persistent | 745 #define OwnPtrWillBePersistent WebCore::Persistent |
745 #define OwnPtrWillBeRawPtr WTF::RawPtr | 746 #define OwnPtrWillBeRawPtr WTF::RawPtr |
746 #define PassOwnPtrWillBeRawPtr WTF::RawPtr | 747 #define PassOwnPtrWillBeRawPtr WTF::RawPtr |
747 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected | 748 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected |
748 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized | 749 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized |
750 #define NoBaseWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCollect ed | |
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.
| |
749 #define WillBeHeapHashMap WebCore::HeapHashMap | 751 #define WillBeHeapHashMap WebCore::HeapHashMap |
750 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap | 752 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap |
751 #define WillBeHeapHashSet WebCore::HeapHashSet | 753 #define WillBeHeapHashSet WebCore::HeapHashSet |
752 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet | 754 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet |
753 #define WillBeHeapLinkedHashSet WebCore::HeapLinkedHashSet | 755 #define WillBeHeapLinkedHashSet WebCore::HeapLinkedHashSet |
754 #define WillBePersistentHeapLinkedHashSet WebCore::PersistentHeapLinkedHashSet | 756 #define WillBePersistentHeapLinkedHashSet WebCore::PersistentHeapLinkedHashSet |
755 #define WillBeHeapVector WebCore::HeapVector | 757 #define WillBeHeapVector WebCore::HeapVector |
756 #define WillBePersistentHeapVector WebCore::PersistentHeapVector | 758 #define WillBePersistentHeapVector WebCore::PersistentHeapVector |
757 #define WillBeHeapDeque WebCore::HeapDeque | 759 #define WillBeHeapDeque WebCore::HeapDeque |
758 #define WillBePersistentHeapDeque WebCore::PersistentHeapDeque | 760 #define WillBePersistentHeapDeque WebCore::PersistentHeapDeque |
(...skipping 13 matching lines...) Expand all Loading... | |
772 return PassRefPtrWillBeRawPtr<T>(ptr); | 774 return PassRefPtrWillBeRawPtr<T>(ptr); |
773 } | 775 } |
774 | 776 |
775 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) | 777 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) |
776 { | 778 { |
777 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T , RefCountedGarbageCollected>::value; | 779 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T , RefCountedGarbageCollected>::value; |
778 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); | 780 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); |
779 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); | 781 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); |
780 } | 782 } |
781 | 783 |
784 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) | |
785 { | |
786 static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOf Template<T, ThreadSafeRefCountedGarbageCollected>::value; | |
787 COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop ); | |
788 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); | |
789 } | |
790 | |
782 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) | 791 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) |
783 { | 792 { |
784 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; | 793 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; |
785 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; | 794 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; |
786 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); | 795 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); |
787 COMPILE_ASSERT(notRefCounted, youMustAdopt); | 796 COMPILE_ASSERT(notRefCounted, youMustAdopt); |
788 return PassOwnPtrWillBeRawPtr<T>(ptr); | 797 return PassOwnPtrWillBeRawPtr<T>(ptr); |
789 } | 798 } |
790 | 799 |
791 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. | 800 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. |
792 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 801 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
793 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 802 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
794 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing | 803 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing |
795 | 804 |
805 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ | |
806 DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments) | |
807 | |
796 #else // !ENABLE(OILPAN) | 808 #else // !ENABLE(OILPAN) |
797 | 809 |
798 template<typename T> | 810 template<typename T> |
799 class DummyBase { | 811 class DummyBase { |
800 public: | 812 public: |
801 DummyBase() { } | 813 DummyBase() { } |
802 ~DummyBase() { } | 814 ~DummyBase() { } |
803 }; | 815 }; |
804 | 816 |
805 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr | 817 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr |
806 #define RefCountedWillBeGarbageCollected WTF::RefCounted | 818 #define RefCountedWillBeGarbageCollected WTF::RefCounted |
807 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted | 819 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted |
808 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted | 820 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted |
809 #define RefCountedSupplementWillBeRefCountedGarbageCollectedSupplement WebCore:: RefCountedSupplement | 821 #define RefCountedSupplementWillBeRefCountedGarbageCollectedSupplement WebCore:: RefCountedSupplement |
810 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted | 822 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted |
811 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted | 823 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted |
824 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre adSafeRefCounted | |
812 #define PersistentWillBeMember WebCore::Persistent | 825 #define PersistentWillBeMember WebCore::Persistent |
813 #define RefPtrWillBePersistent WTF::RefPtr | 826 #define RefPtrWillBePersistent WTF::RefPtr |
814 #define RefPtrWillBeRawPtr WTF::RefPtr | 827 #define RefPtrWillBeRawPtr WTF::RefPtr |
815 #define RefPtrWillBeMember WTF::RefPtr | 828 #define RefPtrWillBeMember WTF::RefPtr |
816 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr | 829 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr |
817 #define RawPtrWillBeMember WTF::RawPtr | 830 #define RawPtrWillBeMember WTF::RawPtr |
818 #define RawPtrWillBeWeakMember WTF::RawPtr | 831 #define RawPtrWillBeWeakMember WTF::RawPtr |
819 #define OwnPtrWillBeMember WTF::OwnPtr | 832 #define OwnPtrWillBeMember WTF::OwnPtr |
820 #define OwnPtrWillBePersistent WTF::OwnPtr | 833 #define OwnPtrWillBePersistent WTF::OwnPtr |
821 #define OwnPtrWillBeRawPtr WTF::OwnPtr | 834 #define OwnPtrWillBeRawPtr WTF::OwnPtr |
822 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr | 835 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr |
823 #define NoBaseWillBeGarbageCollected WebCore::DummyBase | 836 #define NoBaseWillBeGarbageCollected WebCore::DummyBase |
824 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase | 837 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase |
838 #define NoBaseWillBeRefCountedGarbageCollected WebCore::DummyBase | |
Mads Ager (chromium)
2014/04/24 09:05:37
Ditto.
keishi
2014/05/06 20:00:03
Done.
| |
825 #define WillBeHeapHashMap WTF::HashMap | 839 #define WillBeHeapHashMap WTF::HashMap |
826 #define WillBePersistentHeapHashMap WTF::HashMap | 840 #define WillBePersistentHeapHashMap WTF::HashMap |
827 #define WillBeHeapHashSet WTF::HashSet | 841 #define WillBeHeapHashSet WTF::HashSet |
828 #define WillBePersistentHeapHashSet WTF::HashSet | 842 #define WillBePersistentHeapHashSet WTF::HashSet |
829 #define WillBeHeapLinkedHashSet WTF::LinkedHashSet | 843 #define WillBeHeapLinkedHashSet WTF::LinkedHashSet |
830 #define WillBePersistentLinkedHeapHashSet WTF::LinkedHashSet | 844 #define WillBePersistentLinkedHeapHashSet WTF::LinkedHashSet |
831 #define WillBeHeapVector WTF::Vector | 845 #define WillBeHeapVector WTF::Vector |
832 #define WillBePersistentHeapVector WTF::Vector | 846 #define WillBePersistentHeapVector WTF::Vector |
833 #define WillBeHeapDeque WTF::Deque | 847 #define WillBeHeapDeque WTF::Deque |
834 #define WillBePersistentHeapDeque WTF::Deque | 848 #define WillBePersistentHeapDeque WTF::Deque |
835 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void> | 849 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void> |
836 #define WillBeHeapSupplement WebCore::Supplement | 850 #define WillBeHeapSupplement WebCore::Supplement |
837 #define WillBeHeapSupplementable WebCore::Supplementable | 851 #define WillBeHeapSupplementable WebCore::Supplementable |
838 #define WillBeHeapTerminatedArray WTF::TerminatedArray | 852 #define WillBeHeapTerminatedArray WTF::TerminatedArray |
839 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder | 853 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder |
840 #define WillBeHeapLinkedStack WTF::LinkedStack | 854 #define WillBeHeapLinkedStack WTF::LinkedStack |
841 | 855 |
842 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); } | 856 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); } |
843 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); } | 857 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); } |
858 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); } | |
844 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); } | 859 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); } |
845 | 860 |
846 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED | 861 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED |
847 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ | 862 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
848 public: \ | 863 public: \ |
849 ~type(); \ | 864 ~type(); \ |
850 private: | 865 private: |
851 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ | 866 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
852 public: \ | 867 public: \ |
853 virtual ~type(); \ | 868 virtual ~type(); \ |
854 private: | 869 private: |
855 | 870 |
856 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ | 871 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ |
857 type::~type() { } | 872 type::~type() { } |
858 | 873 |
874 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ | |
875 DEFINE_STATIC_REF(type, name, arguments) | |
876 | |
haraken
2014/04/23 12:52:09
Shall we land this macro ahead of time? Recently I
| |
859 #endif // ENABLE(OILPAN) | 877 #endif // ENABLE(OILPAN) |
860 | 878 |
861 } // namespace WebCore | 879 } // namespace WebCore |
862 | 880 |
863 namespace WTF { | 881 namespace WTF { |
864 | 882 |
865 template <typename T> struct VectorTraits<WebCore::Member<T> > : VectorTraitsBas e<WebCore::Member<T> > { | 883 template <typename T> struct VectorTraits<WebCore::Member<T> > : VectorTraitsBas e<WebCore::Member<T> > { |
866 static const bool needsDestruction = false; | 884 static const bool needsDestruction = false; |
867 static const bool canInitializeWithMemset = true; | 885 static const bool canInitializeWithMemset = true; |
868 static const bool canMoveWithMemcpy = true; | 886 static const bool canMoveWithMemcpy = true; |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1044 }; | 1062 }; |
1045 | 1063 |
1046 template<typename T, typename U, typename V, typename W, typename X> | 1064 template<typename T, typename U, typename V, typename W, typename X> |
1047 struct NeedsTracing<HashMap<T, U, V, W, X> > { | 1065 struct NeedsTracing<HashMap<T, U, V, W, X> > { |
1048 static const bool value = false; | 1066 static const bool value = false; |
1049 }; | 1067 }; |
1050 | 1068 |
1051 } // namespace WTF | 1069 } // namespace WTF |
1052 | 1070 |
1053 #endif | 1071 #endif |
OLD | NEW |