Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: Source/platform/heap/Handle.h

Issue 307433003: Oilpan: Allocate all EventTarget derived types on the manged heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/modules/websockets/WebSocket.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 780 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 #define RawPtrWillBeMember WebCore::Member 791 #define RawPtrWillBeMember WebCore::Member
792 #define RawPtrWillBeWeakMember WebCore::WeakMember 792 #define RawPtrWillBeWeakMember WebCore::WeakMember
793 #define OwnPtrWillBeMember WebCore::Member 793 #define OwnPtrWillBeMember WebCore::Member
794 #define OwnPtrWillBePersistent WebCore::Persistent 794 #define OwnPtrWillBePersistent WebCore::Persistent
795 #define OwnPtrWillBeRawPtr WTF::RawPtr 795 #define OwnPtrWillBeRawPtr WTF::RawPtr
796 #define PassOwnPtrWillBeRawPtr WTF::RawPtr 796 #define PassOwnPtrWillBeRawPtr WTF::RawPtr
797 #define WeakPtrWillBeRawPtr WTF::RawPtr 797 #define WeakPtrWillBeRawPtr WTF::RawPtr
798 #define WeakPtrWillBeWeakMember WebCore::WeakMember 798 #define WeakPtrWillBeWeakMember WebCore::WeakMember
799 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected 799 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected
800 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized 800 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized
801 #define NoBaseWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCollect ed
801 #define WillBeHeapHashMap WebCore::HeapHashMap 802 #define WillBeHeapHashMap WebCore::HeapHashMap
802 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap 803 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap
803 #define WillBeHeapHashSet WebCore::HeapHashSet 804 #define WillBeHeapHashSet WebCore::HeapHashSet
804 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet 805 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet
805 #define WillBeHeapLinkedHashSet WebCore::HeapLinkedHashSet 806 #define WillBeHeapLinkedHashSet WebCore::HeapLinkedHashSet
806 #define WillBePersistentHeapLinkedHashSet WebCore::PersistentHeapLinkedHashSet 807 #define WillBePersistentHeapLinkedHashSet WebCore::PersistentHeapLinkedHashSet
807 #define WillBeHeapListHashSet WebCore::HeapListHashSet 808 #define WillBeHeapListHashSet WebCore::HeapListHashSet
808 #define WillBePersistentHeapListHashSet WebCore::PersistentHeapListHashSet 809 #define WillBePersistentHeapListHashSet WebCore::PersistentHeapListHashSet
809 #define WillBeHeapVector WebCore::HeapVector 810 #define WillBeHeapVector WebCore::HeapVector
810 #define WillBePersistentHeapVector WebCore::PersistentHeapVector 811 #define WillBePersistentHeapVector WebCore::PersistentHeapVector
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
844 845
845 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) 846 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr)
846 { 847 {
847 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value; 848 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
848 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value; 849 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value;
849 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); 850 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
850 COMPILE_ASSERT(notRefCounted, youMustAdopt); 851 COMPILE_ASSERT(notRefCounted, youMustAdopt);
851 return PassOwnPtrWillBeRawPtr<T>(ptr); 852 return PassOwnPtrWillBeRawPtr<T>(ptr);
852 } 853 }
853 854
855 template<typename T> T* adoptPtrWillBeRefCountedGarbageCollected(T* ptr)
856 {
857 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
858 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop);
859 return adoptRefCountedGarbageCollected(ptr);
860 }
861
854 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. 862 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled.
855 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 863 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
856 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 864 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
857 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 865 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
858 866
859 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ 867 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \
860 DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments) 868 DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments)
861 869
862 #else // !ENABLE(OILPAN) 870 #else // !ENABLE(OILPAN)
863 871
(...skipping 21 matching lines...) Expand all
885 #define RawPtrWillBeMember WTF::RawPtr 893 #define RawPtrWillBeMember WTF::RawPtr
886 #define RawPtrWillBeWeakMember WTF::RawPtr 894 #define RawPtrWillBeWeakMember WTF::RawPtr
887 #define OwnPtrWillBeMember WTF::OwnPtr 895 #define OwnPtrWillBeMember WTF::OwnPtr
888 #define OwnPtrWillBePersistent WTF::OwnPtr 896 #define OwnPtrWillBePersistent WTF::OwnPtr
889 #define OwnPtrWillBeRawPtr WTF::OwnPtr 897 #define OwnPtrWillBeRawPtr WTF::OwnPtr
890 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr 898 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr
891 #define WeakPtrWillBeRawPtr WTF::WeakPtr 899 #define WeakPtrWillBeRawPtr WTF::WeakPtr
892 #define WeakPtrWillBeWeakMember WTF::WeakPtr 900 #define WeakPtrWillBeWeakMember WTF::WeakPtr
893 #define NoBaseWillBeGarbageCollected WebCore::DummyBase 901 #define NoBaseWillBeGarbageCollected WebCore::DummyBase
894 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase 902 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase
903 #define NoBaseWillBeRefCountedGarbageCollected WebCore::DummyBase
895 #define WillBeHeapHashMap WTF::HashMap 904 #define WillBeHeapHashMap WTF::HashMap
896 #define WillBePersistentHeapHashMap WTF::HashMap 905 #define WillBePersistentHeapHashMap WTF::HashMap
897 #define WillBeHeapHashSet WTF::HashSet 906 #define WillBeHeapHashSet WTF::HashSet
898 #define WillBePersistentHeapHashSet WTF::HashSet 907 #define WillBePersistentHeapHashSet WTF::HashSet
899 #define WillBeHeapLinkedHashSet WTF::LinkedHashSet 908 #define WillBeHeapLinkedHashSet WTF::LinkedHashSet
900 #define WillBePersistentLinkedHeapHashSet WTF::LinkedHashSet 909 #define WillBePersistentLinkedHeapHashSet WTF::LinkedHashSet
901 #define WillBeHeapListHashSet WTF::ListHashSet 910 #define WillBeHeapListHashSet WTF::ListHashSet
902 #define WillBePersistentListHeapHashSet WTF::ListHashSet 911 #define WillBePersistentListHeapHashSet WTF::ListHashSet
903 #define WillBeHeapVector WTF::Vector 912 #define WillBeHeapVector WTF::Vector
904 #define WillBePersistentHeapVector WTF::Vector 913 #define WillBePersistentHeapVector WTF::Vector
905 #define WillBeHeapDeque WTF::Deque 914 #define WillBeHeapDeque WTF::Deque
906 #define WillBePersistentHeapDeque WTF::Deque 915 #define WillBePersistentHeapDeque WTF::Deque
907 #define WillBeHeapHeapCountedSet WTF::HeapCountedSet 916 #define WillBeHeapHeapCountedSet WTF::HeapCountedSet
908 #define WillBePersistentHeapHeapCountedSet WTF::HeapCountedSet 917 #define WillBePersistentHeapHeapCountedSet WTF::HeapCountedSet
909 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void> 918 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void>
910 #define WillBeHeapSupplement WebCore::Supplement 919 #define WillBeHeapSupplement WebCore::Supplement
911 #define WillBeHeapSupplementable WebCore::Supplementable 920 #define WillBeHeapSupplementable WebCore::Supplementable
912 #define WillBeHeapTerminatedArray WTF::TerminatedArray 921 #define WillBeHeapTerminatedArray WTF::TerminatedArray
913 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder 922 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder
914 #define WillBeHeapLinkedStack WTF::LinkedStack 923 #define WillBeHeapLinkedStack WTF::LinkedStack
915 924
916 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); } 925 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); }
917 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); } 926 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); }
918 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); } 927 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); }
919 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); } 928 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); }
929 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeRefCountedGarbageCo llected(T* ptr) { return adoptPtr(ptr); }
920 930
921 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED 931 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED
922 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ 932 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \
923 public: \ 933 public: \
924 ~type(); \ 934 ~type(); \
925 private: 935 private:
926 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ 936 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \
927 public: \ 937 public: \
928 virtual ~type(); \ 938 virtual ~type(); \
929 private: 939 private:
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 struct NeedsTracing<ListHashSetNode<T, WebCore::HeapListHashSetAllocator<T, inli neCapacity> > *> { 1145 struct NeedsTracing<ListHashSetNode<T, WebCore::HeapListHashSetAllocator<T, inli neCapacity> > *> {
1136 // All heap allocated node pointers need visiting to keep the nodes alive, 1146 // All heap allocated node pointers need visiting to keep the nodes alive,
1137 // regardless of whether they contain pointers to other heap allocated 1147 // regardless of whether they contain pointers to other heap allocated
1138 // objects. 1148 // objects.
1139 static const bool value = true; 1149 static const bool value = true;
1140 }; 1150 };
1141 1151
1142 } // namespace WTF 1152 } // namespace WTF
1143 1153
1144 #endif 1154 #endif
OLDNEW
« no previous file with comments | « Source/modules/websockets/WebSocket.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698