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

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

Issue 302093011: Oilpan: move the MediaPlayer and MediaPlayerClient objects to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Move DummyBase from WebCore to WTF 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
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 22 matching lines...) Expand all
33 33
34 #include "platform/heap/Heap.h" 34 #include "platform/heap/Heap.h"
35 #include "platform/heap/ThreadState.h" 35 #include "platform/heap/ThreadState.h"
36 #include "platform/heap/Visitor.h" 36 #include "platform/heap/Visitor.h"
37 #include "wtf/HashFunctions.h" 37 #include "wtf/HashFunctions.h"
38 #include "wtf/Locker.h" 38 #include "wtf/Locker.h"
39 #include "wtf/RawPtr.h" 39 #include "wtf/RawPtr.h"
40 #include "wtf/RefCounted.h" 40 #include "wtf/RefCounted.h"
41 #include "wtf/TypeTraits.h" 41 #include "wtf/TypeTraits.h"
42 42
43 namespace WTF {
44 template<typename T>
45 class DummyBase {
zerny-chromium 2014/06/02 12:59:07 I think this needs a PLATFORM_EXPORT to satisfy th
sof 2014/06/02 14:25:03 That might work, but this is a template, so unclea
sof 2014/06/02 22:00:46 I've addressed the smaller problem of supporting D
46 public:
47 DummyBase() { }
48 ~DummyBase() { }
49 };
50 }
51
43 namespace WebCore { 52 namespace WebCore {
44 53
45 template<typename T> class HeapTerminatedArray; 54 template<typename T> class HeapTerminatedArray;
46 55
47 // Template to determine if a class is a GarbageCollectedMixin by checking if it 56 // Template to determine if a class is a GarbageCollectedMixin by checking if it
48 // has adjustAndMark and isAlive. We can't check directly if the class is a 57 // has adjustAndMark and isAlive. We can't check directly if the class is a
49 // GarbageCollectedMixin because casting to it is potentially ambiguous. 58 // GarbageCollectedMixin because casting to it is potentially ambiguous.
50 template<typename T> 59 template<typename T>
51 struct IsGarbageCollectedMixin { 60 struct IsGarbageCollectedMixin {
52 typedef char TrueType; 61 typedef char TrueType;
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. 872 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled.
864 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 873 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
865 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 874 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
866 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 875 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
867 876
868 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \ 877 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \
869 DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments) 878 DEFINE_STATIC_LOCAL(Persistent<type>, name, arguments)
870 879
871 #else // !ENABLE(OILPAN) 880 #else // !ENABLE(OILPAN)
872 881
873 template<typename T>
874 class DummyBase {
875 public:
876 DummyBase() { }
877 ~DummyBase() { }
878 };
879
880 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr 882 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr
881 #define RefCountedWillBeGarbageCollected WTF::RefCounted 883 #define RefCountedWillBeGarbageCollected WTF::RefCounted
882 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted 884 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted
883 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted 885 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted
884 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted 886 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted
885 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted 887 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted
886 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre adSafeRefCounted 888 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre adSafeRefCounted
887 #define TreeSharedWillBeRefCountedGarbageCollected WebCore::TreeShared 889 #define TreeSharedWillBeRefCountedGarbageCollected WebCore::TreeShared
888 #define PersistentWillBeMember WebCore::Persistent 890 #define PersistentWillBeMember WebCore::Persistent
889 #define RefPtrWillBePersistent WTF::RefPtr 891 #define RefPtrWillBePersistent WTF::RefPtr
890 #define RefPtrWillBeRawPtr WTF::RefPtr 892 #define RefPtrWillBeRawPtr WTF::RefPtr
891 #define RefPtrWillBeMember WTF::RefPtr 893 #define RefPtrWillBeMember WTF::RefPtr
892 #define RefPtrWillBeWeakMember WTF::RefPtr 894 #define RefPtrWillBeWeakMember WTF::RefPtr
893 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr 895 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr
894 #define RawPtrWillBeMember WTF::RawPtr 896 #define RawPtrWillBeMember WTF::RawPtr
895 #define RawPtrWillBeWeakMember WTF::RawPtr 897 #define RawPtrWillBeWeakMember WTF::RawPtr
896 #define OwnPtrWillBeMember WTF::OwnPtr 898 #define OwnPtrWillBeMember WTF::OwnPtr
897 #define OwnPtrWillBePersistent WTF::OwnPtr 899 #define OwnPtrWillBePersistent WTF::OwnPtr
898 #define OwnPtrWillBeRawPtr WTF::OwnPtr 900 #define OwnPtrWillBeRawPtr WTF::OwnPtr
899 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr 901 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr
900 #define WeakPtrWillBeMember WTF::WeakPtr 902 #define WeakPtrWillBeMember WTF::WeakPtr
901 #define WeakPtrWillBeRawPtr WTF::WeakPtr 903 #define WeakPtrWillBeRawPtr WTF::WeakPtr
902 #define WeakPtrWillBeWeakMember WTF::WeakPtr 904 #define WeakPtrWillBeWeakMember WTF::WeakPtr
903 #define NoBaseWillBeGarbageCollected WebCore::DummyBase 905 #define NoBaseWillBeGarbageCollected WTF::DummyBase
904 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase 906 #define NoBaseWillBeGarbageCollectedFinalized WTF::DummyBase
905 #define NoBaseWillBeRefCountedGarbageCollected WebCore::DummyBase 907 #define NoBaseWillBeRefCountedGarbageCollected WTF::DummyBase
906 #define WillBeHeapHashMap WTF::HashMap 908 #define WillBeHeapHashMap WTF::HashMap
907 #define WillBePersistentHeapHashMap WTF::HashMap 909 #define WillBePersistentHeapHashMap WTF::HashMap
908 #define WillBeHeapHashSet WTF::HashSet 910 #define WillBeHeapHashSet WTF::HashSet
909 #define WillBePersistentHeapHashSet WTF::HashSet 911 #define WillBePersistentHeapHashSet WTF::HashSet
910 #define WillBeHeapLinkedHashSet WTF::LinkedHashSet 912 #define WillBeHeapLinkedHashSet WTF::LinkedHashSet
911 #define WillBePersistentLinkedHeapHashSet WTF::LinkedHashSet 913 #define WillBePersistentLinkedHeapHashSet WTF::LinkedHashSet
912 #define WillBeHeapListHashSet WTF::ListHashSet 914 #define WillBeHeapListHashSet WTF::ListHashSet
913 #define WillBePersistentListHeapHashSet WTF::ListHashSet 915 #define WillBePersistentListHeapHashSet WTF::ListHashSet
914 #define WillBeHeapVector WTF::Vector 916 #define WillBeHeapVector WTF::Vector
915 #define WillBePersistentHeapVector WTF::Vector 917 #define WillBePersistentHeapVector WTF::Vector
916 #define WillBeHeapDeque WTF::Deque 918 #define WillBeHeapDeque WTF::Deque
917 #define WillBePersistentHeapDeque WTF::Deque 919 #define WillBePersistentHeapDeque WTF::Deque
918 #define WillBeHeapHeapCountedSet WTF::HeapCountedSet 920 #define WillBeHeapHeapCountedSet WTF::HeapCountedSet
919 #define WillBePersistentHeapHeapCountedSet WTF::HeapCountedSet 921 #define WillBePersistentHeapHeapCountedSet WTF::HeapCountedSet
920 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void> 922 #define WillBeGarbageCollectedMixin WTF::DummyBase<void>
921 #define WillBeHeapSupplement WebCore::Supplement 923 #define WillBeHeapSupplement WebCore::Supplement
922 #define WillBeHeapSupplementable WebCore::Supplementable 924 #define WillBeHeapSupplementable WebCore::Supplementable
923 #define WillBeHeapTerminatedArray WTF::TerminatedArray 925 #define WillBeHeapTerminatedArray WTF::TerminatedArray
924 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder 926 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder
925 #define WillBeHeapLinkedStack WTF::LinkedStack 927 #define WillBeHeapLinkedStack WTF::LinkedStack
926 928
927 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); } 929 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); }
928 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); } 930 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); }
929 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); } 931 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); }
930 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); } 932 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); }
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1147 struct NeedsTracing<ListHashSetNode<T, WebCore::HeapListHashSetAllocator<T, inli neCapacity> > *> { 1149 struct NeedsTracing<ListHashSetNode<T, WebCore::HeapListHashSetAllocator<T, inli neCapacity> > *> {
1148 // All heap allocated node pointers need visiting to keep the nodes alive, 1150 // All heap allocated node pointers need visiting to keep the nodes alive,
1149 // regardless of whether they contain pointers to other heap allocated 1151 // regardless of whether they contain pointers to other heap allocated
1150 // objects. 1152 // objects.
1151 static const bool value = true; 1153 static const bool value = true;
1152 }; 1154 };
1153 1155
1154 } // namespace WTF 1156 } // namespace WTF
1155 1157
1156 #endif 1158 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698