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

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

Issue 205173002: Move webaudio to oilpan (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: WIP 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
« no previous file with comments | « no previous file | Source/heap/Heap.h » ('j') | Source/modules/webaudio/AudioNode.h » ('J')
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 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 // transition type be unqualified, would dually not work for template 669 // transition type be unqualified, would dually not work for template
670 // aliases. So, slightly unfortunately, fall back/down to the lowest 670 // aliases. So, slightly unfortunately, fall back/down to the lowest
671 // commmon denominator of using CPP macros only. 671 // commmon denominator of using CPP macros only.
672 #if ENABLE(OILPAN) 672 #if ENABLE(OILPAN)
673 #define PassRefPtrWillBeRawPtr WTF::RawPtr 673 #define PassRefPtrWillBeRawPtr WTF::RawPtr
674 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected 674 #define RefCountedWillBeGarbageCollected WebCore::GarbageCollected
675 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal ized 675 #define RefCountedWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinal ized
676 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol lected 676 #define RefCountedWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCol lected
677 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected 677 #define ThreadSafeRefCountedWillBeGarbageCollected WebCore::GarbageCollected
678 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl ectedFinalized 678 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WebCore::GarbageColl ectedFinalized
679 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WebCore:: ThreadSafeRefCountedGarbageCollected
679 #define RefPtrWillBePersistent WebCore::Persistent 680 #define RefPtrWillBePersistent WebCore::Persistent
680 #define RefPtrWillBeRawPtr WTF::RawPtr 681 #define RefPtrWillBeRawPtr WTF::RawPtr
681 #define RefPtrWillBeMember WebCore::Member 682 #define RefPtrWillBeMember WebCore::Member
682 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent 683 #define RefPtrWillBeCrossThreadPersistent WebCore::CrossThreadPersistent
683 #define RawPtrWillBeMember WebCore::Member 684 #define RawPtrWillBeMember WebCore::Member
684 #define RawPtrWillBeWeakMember WebCore::WeakMember 685 #define RawPtrWillBeWeakMember WebCore::WeakMember
685 #define OwnPtrWillBeMember WebCore::Member 686 #define OwnPtrWillBeMember WebCore::Member
686 #define OwnPtrWillBePersistent WebCore::Persistent 687 #define OwnPtrWillBePersistent WebCore::Persistent
687 #define OwnPtrWillBeRawPtr WTF::RawPtr 688 #define OwnPtrWillBeRawPtr WTF::RawPtr
688 #define PassOwnPtrWillBeRawPtr WTF::RawPtr 689 #define PassOwnPtrWillBeRawPtr WTF::RawPtr
689 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected 690 #define NoBaseWillBeGarbageCollected WebCore::GarbageCollected
690 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized 691 #define NoBaseWillBeGarbageCollectedFinalized WebCore::GarbageCollectedFinalized
692 #define NoBaseWillBeRefCountedGarbageCollected WebCore::RefCountedGarbageCollect ed
691 #define WillBeHeapHashMap WebCore::HeapHashMap 693 #define WillBeHeapHashMap WebCore::HeapHashMap
692 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap 694 #define WillBePersistentHeapHashMap WebCore::PersistentHeapHashMap
693 #define WillBeHeapHashSet WebCore::HeapHashSet 695 #define WillBeHeapHashSet WebCore::HeapHashSet
694 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet 696 #define WillBePersistentHeapHashSet WebCore::PersistentHeapHashSet
695 #define WillBeHeapVector WebCore::HeapVector 697 #define WillBeHeapVector WebCore::HeapVector
696 #define WillBePersistentHeapVector WebCore::PersistentHeapVector 698 #define WillBePersistentHeapVector WebCore::PersistentHeapVector
697 #define WillBeGarbageCollectedMixin WebCore::GarbageCollectedMixin 699 #define WillBeGarbageCollectedMixin WebCore::GarbageCollectedMixin
698 #define WillBeHeapSupplement WebCore::HeapSupplement 700 #define WillBeHeapSupplement WebCore::HeapSupplement
699 #define WillBeHeapSupplementable WebCore::HeapSupplementable 701 #define WillBeHeapSupplementable WebCore::HeapSupplementable
700 #define WillBeHeapTerminatedArray WebCore::HeapTerminatedArray 702 #define WillBeHeapTerminatedArray WebCore::HeapTerminatedArray
701 #define WillBeHeapTerminatedArrayBuilder WebCore::HeapTerminatedArrayBuilder 703 #define WillBeHeapTerminatedArrayBuilder WebCore::HeapTerminatedArrayBuilder
702 #define WillBeHeapLinkedStack WebCore::HeapLinkedStack 704 #define WillBeHeapLinkedStack WebCore::HeapLinkedStack
703 705
704 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) 706 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr)
705 { 707 {
706 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; 708 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value;
707 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; 709 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value;
708 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); 710 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
709 COMPILE_ASSERT(notRefCounted, youMustAdopt); 711 COMPILE_ASSERT(notRefCounted, youMustAdopt);
710 return PassRefPtrWillBeRawPtr<T>(ptr); 712 return PassRefPtrWillBeRawPtr<T>(ptr);
711 } 713 }
712 714
713 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) 715 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr)
714 { 716 {
715 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T , RefCountedGarbageCollected>::value; 717 static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T , RefCountedGarbageCollected>::value;
716 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop); 718 COMPILE_ASSERT(isRefCountedGarbageCollected, useAdoptRefWillBeNoop);
717 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr)); 719 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
718 } 720 }
719 721
722 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr)
723 {
724 static const bool isThreadSafeRefCountedGarbageCollected = WTF::IsSubclassOf Template<T, ThreadSafeRefCountedGarbageCollected>::value;
725 COMPILE_ASSERT(isThreadSafeRefCountedGarbageCollected, useAdoptRefWillBeNoop );
726 return PassRefPtrWillBeRawPtr<T>(adoptRefCountedGarbageCollected(ptr));
727 }
728
720 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) 729 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr)
721 { 730 {
722 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value; 731 static const bool notRefCountedGarbageCollected = !WTF::IsSubclassOfTemplate <T, RefCountedGarbageCollected>::value;
723 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value; 732 static const bool notRefCounted = !WTF::IsSubclassOfTemplate<T, RefCounted>: :value;
724 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected); 733 COMPILE_ASSERT(notRefCountedGarbageCollected, useAdoptRefCountedWillBeRefCou ntedGarbageCollected);
725 COMPILE_ASSERT(notRefCounted, youMustAdopt); 734 COMPILE_ASSERT(notRefCounted, youMustAdopt);
726 return PassOwnPtrWillBeRawPtr<T>(ptr); 735 return PassOwnPtrWillBeRawPtr<T>(ptr);
727 } 736 }
728 737
729 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled. 738 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED // do nothing when oilpan is ena bled.
730 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 739 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
731 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 740 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
732 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing 741 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) // do nothing
733 742
743 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \
744 static Persistent<type> name = arguments;
745
734 #else // !ENABLE(OILPAN) 746 #else // !ENABLE(OILPAN)
735 747
736 template<typename T> 748 template<typename T>
737 class DummyBase { 749 class DummyBase {
738 public: 750 public:
739 DummyBase() { } 751 DummyBase() { }
740 ~DummyBase() { } 752 ~DummyBase() { }
741 }; 753 };
742 754
743 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr 755 #define PassRefPtrWillBeRawPtr WTF::PassRefPtr
744 #define RefCountedWillBeGarbageCollected WTF::RefCounted 756 #define RefCountedWillBeGarbageCollected WTF::RefCounted
745 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted 757 #define RefCountedWillBeGarbageCollectedFinalized WTF::RefCounted
746 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted 758 #define RefCountedWillBeRefCountedGarbageCollected WTF::RefCounted
747 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted 759 #define ThreadSafeRefCountedWillBeGarbageCollected WTF::ThreadSafeRefCounted
748 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted 760 #define ThreadSafeRefCountedWillBeGarbageCollectedFinalized WTF::ThreadSafeRefCo unted
761 #define ThreadSafeRefCountedWillBeThreadSafeRefCountedGarbageCollected WTF::Thre adSafeRefCounted
749 #define RefPtrWillBePersistent WTF::RefPtr 762 #define RefPtrWillBePersistent WTF::RefPtr
750 #define RefPtrWillBeRawPtr WTF::RefPtr 763 #define RefPtrWillBeRawPtr WTF::RefPtr
751 #define RefPtrWillBeMember WTF::RefPtr 764 #define RefPtrWillBeMember WTF::RefPtr
752 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr 765 #define RefPtrWillBeCrossThreadPersistent WTF::RefPtr
753 #define RawPtrWillBeMember WTF::RawPtr 766 #define RawPtrWillBeMember WTF::RawPtr
754 #define RawPtrWillBeWeakMember WTF::RawPtr 767 #define RawPtrWillBeWeakMember WTF::RawPtr
755 #define OwnPtrWillBeMember WTF::OwnPtr 768 #define OwnPtrWillBeMember WTF::OwnPtr
756 #define OwnPtrWillBePersistent WTF::OwnPtr 769 #define OwnPtrWillBePersistent WTF::OwnPtr
757 #define OwnPtrWillBeRawPtr WTF::OwnPtr 770 #define OwnPtrWillBeRawPtr WTF::OwnPtr
758 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr 771 #define PassOwnPtrWillBeRawPtr WTF::PassOwnPtr
759 #define NoBaseWillBeGarbageCollected WebCore::DummyBase 772 #define NoBaseWillBeGarbageCollected WebCore::DummyBase
760 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase 773 #define NoBaseWillBeGarbageCollectedFinalized WebCore::DummyBase
774 #define NoBaseWillBeRefCountedGarbageCollected WebCore::DummyBase
761 #define WillBeHeapHashMap WTF::HashMap 775 #define WillBeHeapHashMap WTF::HashMap
762 #define WillBePersistentHeapHashMap WTF::HashMap 776 #define WillBePersistentHeapHashMap WTF::HashMap
763 #define WillBeHeapHashSet WTF::HashSet 777 #define WillBeHeapHashSet WTF::HashSet
764 #define WillBePersistentHeapHashSet WTF::HashSet 778 #define WillBePersistentHeapHashSet WTF::HashSet
765 #define WillBeHeapVector WTF::Vector 779 #define WillBeHeapVector WTF::Vector
766 #define WillBePersistentHeapVector WTF::Vector 780 #define WillBePersistentHeapVector WTF::Vector
767 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void> 781 #define WillBeGarbageCollectedMixin WebCore::DummyBase<void>
768 #define WillBeHeapSupplement WebCore::Supplement 782 #define WillBeHeapSupplement WebCore::Supplement
769 #define WillBeHeapSupplementable WebCore::Supplementable 783 #define WillBeHeapSupplementable WebCore::Supplementable
770 #define WillBeHeapTerminatedArray WTF::TerminatedArray 784 #define WillBeHeapTerminatedArray WTF::TerminatedArray
771 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder 785 #define WillBeHeapTerminatedArrayBuilder WTF::TerminatedArrayBuilder
772 #define WillBeHeapLinkedStack WTF::LinkedStack 786 #define WillBeHeapLinkedStack WTF::LinkedStack
773 787
774 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); } 788 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeNoop(T* ptr) { retu rn adoptRef(ptr); }
775 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); } 789 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeRefCountedGarbageCo llected(T* ptr) { return adoptRef(ptr); }
790 template<typename T> PassRefPtrWillBeRawPtr<T> adoptRefWillBeThreadSafeRefCounte dGarbageCollected(T* ptr) { return adoptRef(ptr); }
776 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); } 791 template<typename T> PassOwnPtrWillBeRawPtr<T> adoptPtrWillBeNoop(T* ptr) { retu rn adoptPtr(ptr); }
777 792
778 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED 793 #define WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED WTF_MAKE_FAST_ALLOCATED
779 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ 794 #define DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \
780 public: \ 795 public: \
781 ~type(); \ 796 ~type(); \
782 private: 797 private:
783 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \ 798 #define DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(type) \
784 public: \ 799 public: \
785 virtual ~type(); \ 800 virtual ~type(); \
786 private: 801 private:
787 802
788 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \ 803 #define DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(type) \
789 type::~type() { } 804 type::~type() { }
790 805
806 #define DEFINE_STATIC_REF_WILL_BE_PERSISTENT(type, name, arguments) \
807 static type* name = PassRefPtr<type>(arguments).leakRef();
808
791 #endif // ENABLE(OILPAN) 809 #endif // ENABLE(OILPAN)
792 810
793 } // namespace WebCore 811 } // namespace WebCore
794 812
795 namespace WTF { 813 namespace WTF {
796 814
797 template <typename T> struct VectorTraits<WebCore::Member<T> > : VectorTraitsBas e<WebCore::Member<T> > { 815 template <typename T> struct VectorTraits<WebCore::Member<T> > : VectorTraitsBas e<WebCore::Member<T> > {
798 static const bool needsDestruction = false; 816 static const bool needsDestruction = false;
799 static const bool canInitializeWithMemset = true; 817 static const bool canInitializeWithMemset = true;
800 static const bool canMoveWithMemcpy = true; 818 static const bool canMoveWithMemcpy = true;
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 }; 947 };
930 948
931 template<typename T, typename U> 949 template<typename T, typename U>
932 struct NeedsTracing<HashMap<T, U> > { 950 struct NeedsTracing<HashMap<T, U> > {
933 static const bool value = false; 951 static const bool value = false;
934 }; 952 };
935 953
936 } // namespace WTF 954 } // namespace WTF
937 955
938 #endif 956 #endif
OLDNEW
« no previous file with comments | « no previous file | Source/heap/Heap.h » ('j') | Source/modules/webaudio/AudioNode.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698