| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 2  *  Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  *  This library is free software; you can redistribute it and/or | 4  *  This library is free software; you can redistribute it and/or | 
| 5  *  modify it under the terms of the GNU Library General Public | 5  *  modify it under the terms of the GNU Library General Public | 
| 6  *  License as published by the Free Software Foundation; either | 6  *  License as published by the Free Software Foundation; either | 
| 7  *  version 2 of the License, or (at your option) any later version. | 7  *  version 2 of the License, or (at your option) any later version. | 
| 8  * | 8  * | 
| 9  *  This library is distributed in the hope that it will be useful, | 9  *  This library is distributed in the hope that it will be useful, | 
| 10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 302         { | 302         { | 
| 303             return Allocator::Quantizer::template quantizedSize<T>(capacity); | 303             return Allocator::Quantizer::template quantizedSize<T>(capacity); | 
| 304         } | 304         } | 
| 305 | 305 | 
| 306         T* buffer() { return m_buffer; } | 306         T* buffer() { return m_buffer; } | 
| 307         const T* buffer() const { return m_buffer; } | 307         const T* buffer() const { return m_buffer; } | 
| 308         size_t capacity() const { return m_capacity; } | 308         size_t capacity() const { return m_capacity; } | 
| 309 | 309 | 
| 310         void clearUnusedSlots(T* from, T* to) | 310         void clearUnusedSlots(T* from, T* to) | 
| 311         { | 311         { | 
| 312             VectorUnusedSlotClearer<Allocator::isGarbageCollected && (VectorTrai
      ts<T>::needsDestruction || ShouldBeTraced<VectorTraits<T> >::value), T>::clear(f
      rom, to); | 312             VectorUnusedSlotClearer<Allocator::isGarbageCollected && (VectorTrai
      ts<T>::needsDestruction || ShouldBeTraced<VectorTraits<T>>::value), T>::clear(fr
      om, to); | 
| 313         } | 313         } | 
| 314 | 314 | 
| 315     protected: | 315     protected: | 
| 316         VectorBufferBase() | 316         VectorBufferBase() | 
| 317             : m_buffer(0) | 317             : m_buffer(0) | 
| 318             , m_capacity(0) | 318             , m_capacity(0) | 
| 319         { | 319         { | 
| 320         } | 320         } | 
| 321 | 321 | 
| 322         VectorBufferBase(T* buffer, size_t capacity) | 322         VectorBufferBase(T* buffer, size_t capacity) | 
| (...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1209 | 1209 | 
| 1210     // This is only called if the allocator is a HeapAllocator. It is used when | 1210     // This is only called if the allocator is a HeapAllocator. It is used when | 
| 1211     // visiting during a tracing GC. | 1211     // visiting during a tracing GC. | 
| 1212     template<typename T, size_t inlineCapacity, typename Allocator> | 1212     template<typename T, size_t inlineCapacity, typename Allocator> | 
| 1213     template<typename VisitorDispatcher> | 1213     template<typename VisitorDispatcher> | 
| 1214     void Vector<T, inlineCapacity, Allocator>::trace(VisitorDispatcher visitor) | 1214     void Vector<T, inlineCapacity, Allocator>::trace(VisitorDispatcher visitor) | 
| 1215     { | 1215     { | 
| 1216         ASSERT(Allocator::isGarbageCollected); // Garbage collector must be enab
      led. | 1216         ASSERT(Allocator::isGarbageCollected); // Garbage collector must be enab
      led. | 
| 1217         const T* bufferBegin = buffer(); | 1217         const T* bufferBegin = buffer(); | 
| 1218         const T* bufferEnd = buffer() + size(); | 1218         const T* bufferEnd = buffer() + size(); | 
| 1219         if (ShouldBeTraced<VectorTraits<T> >::value) { | 1219         if (ShouldBeTraced<VectorTraits<T>>::value) { | 
| 1220             for (const T* bufferEntry = bufferBegin; bufferEntry != bufferEnd; b
      ufferEntry++) | 1220             for (const T* bufferEntry = bufferBegin; bufferEntry != bufferEnd; b
      ufferEntry++) | 
| 1221                 Allocator::template trace<VisitorDispatcher, T, VectorTraits<T> 
      >(visitor, *const_cast<T*>(bufferEntry)); | 1221                 Allocator::template trace<VisitorDispatcher, T, VectorTraits<T>>
      (visitor, *const_cast<T*>(bufferEntry)); | 
| 1222         } | 1222         } | 
| 1223         if (this->hasOutOfLineBuffer()) | 1223         if (this->hasOutOfLineBuffer()) | 
| 1224             Allocator::markNoTracing(visitor, buffer()); | 1224             Allocator::markNoTracing(visitor, buffer()); | 
| 1225     } | 1225     } | 
| 1226 | 1226 | 
| 1227 #if !ENABLE(OILPAN) | 1227 #if !ENABLE(OILPAN) | 
| 1228     template<typename T, size_t N> | 1228     template<typename T, size_t N> | 
| 1229     struct NeedsTracing<Vector<T, N> > { | 1229     struct NeedsTracing<Vector<T, N>> { | 
| 1230         static const bool value = false; | 1230         static const bool value = false; | 
| 1231     }; | 1231     }; | 
| 1232 #endif | 1232 #endif | 
| 1233 | 1233 | 
| 1234 } // namespace WTF | 1234 } // namespace WTF | 
| 1235 | 1235 | 
| 1236 using WTF::Vector; | 1236 using WTF::Vector; | 
| 1237 | 1237 | 
| 1238 #endif // WTF_Vector_h | 1238 #endif // WTF_Vector_h | 
| OLD | NEW | 
|---|