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

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

Issue 138203002: Rename a few Member and Persistent methods to make the transition (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 1464 matching lines...) Expand 10 before | Expand all | Expand 10 after
1475 template<bool isWeak, bool markWeakMembersStrongly, typename Key, typename Value , typename Traits> 1475 template<bool isWeak, bool markWeakMembersStrongly, typename Key, typename Value , typename Traits>
1476 struct CollectionBackingTraceTrait<true, isWeak, markWeakMembersStrongly, WTF::K eyValuePair<Key, Value>, Traits> : public BaseVisitKeyValuePairTrait<markWeakMem bersStrongly, Key, Value, Traits> { 1476 struct CollectionBackingTraceTrait<true, isWeak, markWeakMembersStrongly, WTF::K eyValuePair<Key, Value>, Traits> : public BaseVisitKeyValuePairTrait<markWeakMem bersStrongly, Key, Value, Traits> {
1477 }; 1477 };
1478 1478
1479 1479
1480 // TFX (member) 1480 // TFX (member)
1481 template<bool markWeakMembersStrongly, typename T, typename Traits> 1481 template<bool markWeakMembersStrongly, typename T, typename Traits>
1482 struct CollectionBackingTraceTrait<true, false, markWeakMembersStrongly, Member< T>, Traits> { 1482 struct CollectionBackingTraceTrait<true, false, markWeakMembersStrongly, Member< T>, Traits> {
1483 static void mark(WebCore::Visitor* visitor, Member<T> self) 1483 static void mark(WebCore::Visitor* visitor, Member<T> self)
1484 { 1484 {
1485 visitor->mark(self.raw()); 1485 visitor->mark(self.get());
1486 } 1486 }
1487 }; 1487 };
1488 1488
1489 // FTT (weak member) 1489 // FTT (weak member)
1490 template<typename T, typename Traits> 1490 template<typename T, typename Traits>
1491 struct CollectionBackingTraceTrait<false, true, true, WeakMember<T>, Traits> { 1491 struct CollectionBackingTraceTrait<false, true, true, WeakMember<T>, Traits> {
1492 static void mark(WebCore::Visitor* visitor, WeakMember<T> self) 1492 static void mark(WebCore::Visitor* visitor, WeakMember<T> self)
1493 { 1493 {
1494 // This can mark weak members as if they were strong. The reason we 1494 // This can mark weak members as if they were strong. The reason we
1495 // need this is that we don't do weak processing unless we reach the 1495 // need this is that we don't do weak processing unless we reach the
1496 // backing only through the hash table. Reaching it in any other way 1496 // backing only through the hash table. Reaching it in any other way
1497 // makes it impossible to update the size and deleted slot count of the 1497 // makes it impossible to update the size and deleted slot count of the
1498 // table, and exposes us to weak processing during iteration issues. 1498 // table, and exposes us to weak processing during iteration issues.
1499 visitor->mark(self.raw()); 1499 visitor->mark(self.get());
1500 } 1500 }
1501 }; 1501 };
1502 1502
1503 // Catch-all for things that have a way to trace. For things that contain weak 1503 // Catch-all for things that have a way to trace. For things that contain weak
1504 // pointers they will generally be visited weakly even if 1504 // pointers they will generally be visited weakly even if
1505 // markWeakMembersStrongly is true. This is what you want. 1505 // markWeakMembersStrongly is true. This is what you want.
1506 template<bool isWeak, bool markWeakMembersStrongly, typename T, typename Traits> 1506 template<bool isWeak, bool markWeakMembersStrongly, typename T, typename Traits>
1507 struct CollectionBackingTraceTrait<true, isWeak, markWeakMembersStrongly, T, Tra its> { 1507 struct CollectionBackingTraceTrait<true, isWeak, markWeakMembersStrongly, T, Tra its> {
1508 static void mark(WebCore::Visitor* visitor, T& t) 1508 static void mark(WebCore::Visitor* visitor, T& t)
1509 { 1509 {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
1631 // to export. This forces it to export all the methods from ThreadHeap. 1631 // to export. This forces it to export all the methods from ThreadHeap.
1632 template<> void ThreadHeap<FinalizedHeapObjectHeader>::addPageToHeap(const GCInf o*); 1632 template<> void ThreadHeap<FinalizedHeapObjectHeader>::addPageToHeap(const GCInf o*);
1633 template<> void ThreadHeap<HeapObjectHeader>::addPageToHeap(const GCInfo*); 1633 template<> void ThreadHeap<HeapObjectHeader>::addPageToHeap(const GCInfo*);
1634 extern template class HEAP_EXPORT ThreadHeap<FinalizedHeapObjectHeader>; 1634 extern template class HEAP_EXPORT ThreadHeap<FinalizedHeapObjectHeader>;
1635 extern template class HEAP_EXPORT ThreadHeap<HeapObjectHeader>; 1635 extern template class HEAP_EXPORT ThreadHeap<HeapObjectHeader>;
1636 #endif 1636 #endif
1637 1637
1638 } 1638 }
1639 1639
1640 #endif // Heap_h 1640 #endif // Heap_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698