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

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

Issue 282263006: Oilpan: remove consts when checking GC-class convertibility. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 7 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
« no previous file with comments | « no previous file | Source/platform/heap/ThreadState.h » ('j') | 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 802 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 #define WillBePersistentHeapHashCountedSet WebCore::PersistentHeapHashCountedSet 813 #define WillBePersistentHeapHashCountedSet WebCore::PersistentHeapHashCountedSet
814 #define WillBeGarbageCollectedMixin WebCore::GarbageCollectedMixin 814 #define WillBeGarbageCollectedMixin WebCore::GarbageCollectedMixin
815 #define WillBeHeapSupplement WebCore::HeapSupplement 815 #define WillBeHeapSupplement WebCore::HeapSupplement
816 #define WillBeHeapSupplementable WebCore::HeapSupplementable 816 #define WillBeHeapSupplementable WebCore::HeapSupplementable
817 #define WillBeHeapTerminatedArray WebCore::HeapTerminatedArray 817 #define WillBeHeapTerminatedArray WebCore::HeapTerminatedArray
818 #define WillBeHeapTerminatedArrayBuilder WebCore::HeapTerminatedArrayBuilder 818 #define WillBeHeapTerminatedArrayBuilder WebCore::HeapTerminatedArrayBuilder
819 #define WillBeHeapLinkedStack WebCore::HeapLinkedStack 819 #define WillBeHeapLinkedStack WebCore::HeapLinkedStack
820 820
821 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) 821 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr)
822 { 822 {
823 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; 823 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
824 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; 824 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value;
825 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); 825 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
826 COMPILE_ASSERT(notRefCounted, youMustAdopt); 826 COMPILE_ASSERT(notRefCounted, youMustAdopt);
827 return PassRefPtrWillBeRawPtr<T>(ptr); 827 return PassRefPtrWillBeRawPtr<T>(ptr);
828 } 828 }
829 829
830 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) 830 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr)
831 { 831 {
832 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T , RefCountedGarbageCollected>::value; 832 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<t ypename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
833 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); 833 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop);
834 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); 834 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
835 } 835 }
836 836
837 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) 837 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr)
838 { 838 {
839 static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOf Template<T, ThreadSafeRefCountedGarbageCollected>::value; 839 static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOf Template<typename WTF::RemoveConst<T>::Type, ThreadSafeRefCountedGarbageCollecte d>::value;
840 COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop ); 840 COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop );
841 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); 841 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
842 } 842 }
843 843
844 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) 844 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr)
845 { 845 {
846 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; 846 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <typename WTF::RemoveConst<T>::Type, RefCountedGarbageCollected>::value;
847 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; 847 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<typename WTF::R emoveConst<T>::Type, RefCounted>::value;
848 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); 848 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
849 COMPILE_ASSERT(notRefCounted, youMustAdopt); 849 COMPILE_ASSERT(notRefCounted, youMustAdopt);
850 return PassOwnPtrWillBeRawPtr<T>(ptr); 850 return PassOwnPtrWillBeRawPtr<T>(ptr);
851 } 851 }
852 852
853 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. 853 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled.
854 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 854 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
855 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 855 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
856 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 856 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
857 857
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 struct NeedsTracing<ListHashSetNode<T, WebCore::HeapListHashSetAllocator<T, inli neCapacity> > *> { 1133 struct NeedsTracing<ListHashSetNode<T, WebCore::HeapListHashSetAllocator<T, inli neCapacity> > *> {
1134 // All heap allocated node pointers need visiting to keep the nodes alive, 1134 // All heap allocated node pointers need visiting to keep the nodes alive,
1135 // regardless of whether they contain pointers to other heap allocated 1135 // regardless of whether they contain pointers to other heap allocated
1136 // objects. 1136 // objects.
1137 static const bool value = true; 1137 static const bool value = true;
1138 }; 1138 };
1139 1139
1140 } // namespace WTF 1140 } // namespace WTF
1141 1141
1142 #endif 1142 #endif
OLDNEW
« no previous file with comments | « no previous file | Source/platform/heap/ThreadState.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698