Chromium Code Reviews| 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 |