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

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

Issue 205173002: Move webaudio to oilpan (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed Created 6 years, 8 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
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 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 // transition type be unqualified, would dually not work for template 694 // transition type be unqualified, would dually not work for template
695 // aliases. So, slightly unfortunately, fall back/down to the lowest 695 // aliases. So, slightly unfortunately, fall back/down to the lowest
696 // commmon denominator of using CPP macros only. 696 // commmon denominator of using CPP macros only.
697 #if ENABLE(OILPAN) 697 #if ENABLE(OILPAN)
698 #define PassRefPtrWillBeRawPtr WTF::RawPtr 698 #define PassRefPtrWillBeRawPtr WTF::RawPtr
699 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected 699 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected
700 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal ized 700 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal ized
701 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol lected 701 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol lected
702 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected 702 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected
703 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl ectedFinalized 703 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl ectedFinalized
704 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WebCore:: ThreadSafeRefCountedGarbageCollected
704 #define RefPtrWillBePersistent WebCore::Persistent 705 #define RefPtrWillBePersistent WebCore::Persistent
705 #define RefPtrWillBeRawPtr WTF::RawPtr 706 #define RefPtrWillBeRawPtr WTF::RawPtr
706 #define RefPtrWillBeMember WebCore::Member 707 #define RefPtrWillBeMember WebCore::Member
707 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent 708 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent
708 #define RawPtrWillBeMember WebCore::Member 709 #define RawPtrWillBeMember WebCore::Member
709 #define RawPtrWillBeWeakMember WebCore::WeakMember 710 #define RawPtrWillBeWeakMember WebCore::WeakMember
710 #define OwnPtrWillBeMember WebCore::Member 711 #define OwnPtrWillBeMember WebCore::Member
711 #define OwnPtrWillBePersistent WebCore::Persistent 712 #define OwnPtrWillBePersistent WebCore::Persistent
712 #define OwnPtrWillBeRawPtr WTF::RawPtr 713 #define OwnPtrWillBeRawPtr WTF::RawPtr
713 #define PassOwnPtrWillBeRawPtr WTF::RawPtr 714 #define PassOwnPtrWillBeRawPtr WTF::RawPtr
714 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected 715 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected
715 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized 716 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized
717 #define NoBaseWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCollect ed
716 #define WillBeHeapHashMap WebCore::HeapHashMap 718 #define WillBeHeapHashMap WebCore::HeapHashMap
717 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap 719 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap
718 #define WillBeHeapHashSet WebCore::HeapHashSet 720 #define WillBeHeapHashSet WebCore::HeapHashSet
719 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet 721 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet
720 #define WillBeHeapVector WebCore::HeapVector 722 #define WillBeHeapVector WebCore::HeapVector
721 #define WillBePersistentHeapVector WebCore::PersistentHeapVector 723 #define WillBePersistentHeapVector WebCore::PersistentHeapVector
722 #define WillBeGarbageCollectedMixin WebCore::GarbageCollectedMixin 724 #define WillBeGarbageCollectedMixin WebCore::GarbageCollectedMixin
723 #define WillBeHeapSupplement WebCore::HeapSupplement 725 #define WillBeHeapSupplement WebCore::HeapSupplement
724 #define WillBeHeapSupplementable WebCore::HeapSupplementable 726 #define WillBeHeapSupplementable WebCore::HeapSupplementable
725 #define WillBeHeapTerminatedArray WebCore::HeapTerminatedArray 727 #define WillBeHeapTerminatedArray WebCore::HeapTerminatedArray
726 #define WillBeHeapTerminatedArrayBuilder WebCore::HeapTerminatedArrayBuilder 728 #define WillBeHeapTerminatedArrayBuilder WebCore::HeapTerminatedArrayBuilder
727 #define WillBeHeapLinkedStack WebCore::HeapLinkedStack 729 #define WillBeHeapLinkedStack WebCore::HeapLinkedStack
728 730
729 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) 731 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr)
730 { 732 {
731 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; 733 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value;
732 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; 734 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value;
733 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); 735 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
734 COMPILE_ASSERT(notRefCounted, youMustAdopt); 736 COMPILE_ASSERT(notRefCounted, youMustAdopt);
735 return PassRefPtrWillBeRawPtr<T>(ptr); 737 return PassRefPtrWillBeRawPtr<T>(ptr);
736 } 738 }
737 739
738 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) 740 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr)
739 { 741 {
740 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T , RefCountedGarbageCollected>::value; 742 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T , RefCountedGarbageCollected>::value;
741 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); 743 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop);
742 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); 744 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
743 } 745 }
744 746
747 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr)
748 {
749 static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOf Template<T, ThreadSafeRefCountedGarbageCollected>::value;
750 COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop );
751 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
752 }
753
745 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) 754 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr)
746 { 755 {
747 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; 756 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value;
748 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; 757 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value;
749 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); 758 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
750 COMPILE_ASSERT(notRefCounted, youMustAdopt); 759 COMPILE_ASSERT(notRefCounted, youMustAdopt);
751 return PassOwnPtrWillBeRawPtr<T>(ptr); 760 return PassOwnPtrWillBeRawPtr<T>(ptr);
752 } 761 }
753 762
754 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. 763 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled.
755 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 764 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
756 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 765 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
757 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 766 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
758 767
768 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \
769 static Persistent<type> name = arguments;
haraken 2014/04/08 06:02:08 Can we use DEFINE_STATIC_LOCAL instead of using 's
keishi 2014/04/21 17:10:11 Done.
770
759 #else // !ENABLE(OILPAN) 771 #else // !ENABLE(OILPAN)
760 772
761 template<typename T> 773 template<typename T>
762 class DummyBase { 774 class DummyBase {
763 public: 775 public:
764 DummyBase() { } 776 DummyBase() { }
765 ~DummyBase() { } 777 ~DummyBase() { }
766 }; 778 };
767 779
768 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr 780 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr
769 #define RefCountedWillBeGarbageCollected WTF::RefCounted 781 #define RefCountedWillBeGarbageCollected WTF::RefCounted
770 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted 782 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted
771 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted 783 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted
772 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted 784 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted
773 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted 785 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted
786 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre adSafeRefCounted
774 #define RefPtrWillBePersistent WTF::RefPtr 787 #define RefPtrWillBePersistent WTF::RefPtr
775 #define RefPtrWillBeRawPtr WTF::RefPtr 788 #define RefPtrWillBeRawPtr WTF::RefPtr
776 #define RefPtrWillBeMember WTF::RefPtr 789 #define RefPtrWillBeMember WTF::RefPtr
777 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr 790 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr
778 #define RawPtrWillBeMember WTF::RawPtr 791 #define RawPtrWillBeMember WTF::RawPtr
779 #define RawPtrWillBeWeakMember WTF::RawPtr 792 #define RawPtrWillBeWeakMember WTF::RawPtr
780 #define OwnPtrWillBeMember WTF::OwnPtr 793 #define OwnPtrWillBeMember WTF::OwnPtr
781 #define OwnPtrWillBePersistent WTF::OwnPtr 794 #define OwnPtrWillBePersistent WTF::OwnPtr
782 #define OwnPtrWillBeRawPtr WTF::OwnPtr 795 #define OwnPtrWillBeRawPtr WTF::OwnPtr
783 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr 796 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr
784 #define NoBaseWillBeGarbageCollected WebCore::DummyBase 797 #define NoBaseWillBeGarbageCollected WebCore::DummyBase
785 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase 798 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase
799 #define NoBaseWillBeRefCountedGarbageCollected WebCore::DummyBase
786 #define WillBeHeapHashMap WTF::HashMap 800 #define WillBeHeapHashMap WTF::HashMap
787 #define WillBePersistentHeapHashMap WTF::HashMap 801 #define WillBePersistentHeapHashMap WTF::HashMap
788 #define WillBeHeapHashSet WTF::HashSet 802 #define WillBeHeapHashSet WTF::HashSet
789 #define WillBePersistentHeapHashSet WTF::HashSet 803 #define WillBePersistentHeapHashSet WTF::HashSet
790 #define WillBeHeapVector WTF::Vector 804 #define WillBeHeapVector WTF::Vector
791 #define WillBePersistentHeapVector WTF::Vector 805 #define WillBePersistentHeapVector WTF::Vector
792 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void> 806 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void>
793 #define WillBeHeapSupplement WebCore::Supplement 807 #define WillBeHeapSupplement WebCore::Supplement
794 #define WillBeHeapSupplementable WebCore::Supplementable 808 #define WillBeHeapSupplementable WebCore::Supplementable
795 #define WillBeHeapTerminatedArray WTF::TerminatedArray 809 #define WillBeHeapTerminatedArray WTF::TerminatedArray
796 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder 810 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder
797 #define WillBeHeapLinkedStack WTF::LinkedStack 811 #define WillBeHeapLinkedStack WTF::LinkedStack
798 812
799 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); } 813 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); }
800 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); } 814 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); }
815 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); }
801 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); } 816 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); }
802 817
803 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED 818 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED
804 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ 819 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \
805 public: \ 820 public: \
806 ~type(); \ 821 ~type(); \
807 private: 822 private:
808 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ 823 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \
809 public: \ 824 public: \
810 virtual ~type(); \ 825 virtual ~type(); \
811 private: 826 private:
812 827
813 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ 828 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \
814 type::~type() { } 829 type::~type() { }
815 830
831 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \
832 static type* name = PassRefPtr<type>(arguments).leakRef();
haraken 2014/04/08 06:02:08 Ditto.
keishi 2014/04/21 17:10:11 Done.
833
816 #endif // ENABLE(OILPAN) 834 #endif // ENABLE(OILPAN)
817 835
818 } // namespace WebCore 836 } // namespace WebCore
819 837
820 namespace WTF { 838 namespace WTF {
821 839
822 template <typename T> struct VectorTraits<WebCore::Member<T> > : VectorTraitsBas e<WebCore::Member<T> > { 840 template <typename T> struct VectorTraits<WebCore::Member<T> > : VectorTraitsBas e<WebCore::Member<T> > {
823 static const bool needsDestruction = false; 841 static const bool needsDestruction = false;
824 static const bool canInitializeWithMemset = true; 842 static const bool canInitializeWithMemset = true;
825 static const bool canMoveWithMemcpy = true; 843 static const bool canMoveWithMemcpy = true;
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 }; 997 };
980 998
981 template<typename T, typename U> 999 template<typename T, typename U>
982 struct NeedsTracing<HashMap<T, U> > { 1000 struct NeedsTracing<HashMap<T, U> > {
983 static const bool value = false; 1001 static const bool value = false;
984 }; 1002 };
985 1003
986 } // namespace WTF 1004 } // namespace WTF
987 1005
988 #endif 1006 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698