| OLD | NEW |
| 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 1713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1724 #endif | 1724 #endif |
| 1725 }; | 1725 }; |
| 1726 return &info; | 1726 return &info; |
| 1727 } | 1727 } |
| 1728 }; | 1728 }; |
| 1729 | 1729 |
| 1730 template<typename ValueArg, size_t inlineCapacity, typename U> | 1730 template<typename ValueArg, size_t inlineCapacity, typename U> |
| 1731 struct GCInfoTrait<ListHashSet<ValueArg, inlineCapacity, U, HeapListHashSetAlloc
ator<ValueArg, inlineCapacity> > > { | 1731 struct GCInfoTrait<ListHashSet<ValueArg, inlineCapacity, U, HeapListHashSetAlloc
ator<ValueArg, inlineCapacity> > > { |
| 1732 static const GCInfo* get() | 1732 static const GCInfo* get() |
| 1733 { | 1733 { |
| 1734 typedef WTF::ListHashSet<ValueArg, inlineCapacity, U, HeapListHashSetAll
ocator<ValueArg, inlineCapacity> > TargetType; |
| 1734 static const GCInfo info = { | 1735 static const GCInfo info = { |
| 1735 TraceTrait<ListHashSet<ValueArg, inlineCapacity, U, HeapListHashSetA
llocator<ValueArg, inlineCapacity> > >::trace, | 1736 TraceTrait<TargetType>::trace, |
| 1736 0, | 1737 0, |
| 1737 false // ListHashSet needs no finalization though its backing might. | 1738 false, // ListHashSet needs no finalization though its backing might
. |
| 1739 false, // no vtable. |
| 1740 #if ENABLE(GC_TRACING) |
| 1741 TypenameStringTrait<TargetType>::get() |
| 1742 #endif |
| 1738 }; | 1743 }; |
| 1739 return &info; | 1744 return &info; |
| 1740 } | 1745 } |
| 1741 }; | 1746 }; |
| 1742 | 1747 |
| 1743 template<typename T, typename Allocator> | 1748 template<typename T, typename Allocator> |
| 1744 struct GCInfoTrait<WTF::ListHashSetNode<T, Allocator> > { | 1749 struct GCInfoTrait<WTF::ListHashSetNode<T, Allocator> > { |
| 1745 static const GCInfo* get() | 1750 static const GCInfo* get() |
| 1746 { | 1751 { |
| 1752 typedef WTF::ListHashSetNode<T, Allocator> TargetType; |
| 1747 static const GCInfo info = { | 1753 static const GCInfo info = { |
| 1748 TraceTrait<WTF::ListHashSetNode<T, Allocator> >::trace, | 1754 TraceTrait<TargetType>::trace, |
| 1749 WTF::ListHashSetNode<T, Allocator>::finalize, | 1755 TargetType::finalize, |
| 1750 WTF::HashTraits<T>::needsDestruction // The node needs destruction i
f its data does. | 1756 WTF::HashTraits<T>::needsDestruction, // The node needs destruction
if its data does. |
| 1757 false, // no vtable. |
| 1758 #if ENABLE(GC_TRACING) |
| 1759 TypenameStringTrait<TargetType>::get() |
| 1760 #endif |
| 1751 }; | 1761 }; |
| 1752 return &info; | 1762 return &info; |
| 1753 } | 1763 } |
| 1754 }; | 1764 }; |
| 1755 | 1765 |
| 1756 template<typename T> | 1766 template<typename T> |
| 1757 struct GCInfoTrait<Vector<T, 0, HeapAllocator> > { | 1767 struct GCInfoTrait<Vector<T, 0, HeapAllocator> > { |
| 1758 static const GCInfo* get() | 1768 static const GCInfo* get() |
| 1759 { | 1769 { |
| 1760 #if ENABLE(GC_TRACING) | 1770 #if ENABLE(GC_TRACING) |
| (...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2193 // to export. This forces it to export all the methods from ThreadHeap. | 2203 // to export. This forces it to export all the methods from ThreadHeap. |
| 2194 template<> void ThreadHeap<FinalizedHeapObjectHeader>::addPageToHeap(const GCInf
o*); | 2204 template<> void ThreadHeap<FinalizedHeapObjectHeader>::addPageToHeap(const GCInf
o*); |
| 2195 template<> void ThreadHeap<HeapObjectHeader>::addPageToHeap(const GCInfo*); | 2205 template<> void ThreadHeap<HeapObjectHeader>::addPageToHeap(const GCInfo*); |
| 2196 extern template class PLATFORM_EXPORT ThreadHeap<FinalizedHeapObjectHeader>; | 2206 extern template class PLATFORM_EXPORT ThreadHeap<FinalizedHeapObjectHeader>; |
| 2197 extern template class PLATFORM_EXPORT ThreadHeap<HeapObjectHeader>; | 2207 extern template class PLATFORM_EXPORT ThreadHeap<HeapObjectHeader>; |
| 2198 #endif | 2208 #endif |
| 2199 | 2209 |
| 2200 } | 2210 } |
| 2201 | 2211 |
| 2202 #endif // Heap_h | 2212 #endif // Heap_h |
| OLD | NEW |