OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009 Google Inc. All rights reserved. | 3 * Copyright (C) 2009 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
649 bufferEntry++) | 649 bufferEntry++) |
650 Allocator::template trace<VisitorDispatcher, T, VectorTraits<T>>( | 650 Allocator::template trace<VisitorDispatcher, T, VectorTraits<T>>( |
651 visitor, *const_cast<T*>(bufferEntry)); | 651 visitor, *const_cast<T*>(bufferEntry)); |
652 const T* bufferEnd = m_buffer.buffer() + m_buffer.capacity(); | 652 const T* bufferEnd = m_buffer.buffer() + m_buffer.capacity(); |
653 for (const T* bufferEntry = bufferBegin + m_start; | 653 for (const T* bufferEntry = bufferBegin + m_start; |
654 bufferEntry != bufferEnd; bufferEntry++) | 654 bufferEntry != bufferEnd; bufferEntry++) |
655 Allocator::template trace<VisitorDispatcher, T, VectorTraits<T>>( | 655 Allocator::template trace<VisitorDispatcher, T, VectorTraits<T>>( |
656 visitor, *const_cast<T*>(bufferEntry)); | 656 visitor, *const_cast<T*>(bufferEntry)); |
657 } | 657 } |
658 } | 658 } |
659 if (m_buffer.hasOutOfLineBuffer()) { | 659 if (m_buffer.hasOutOfLineBuffer()) |
660 Allocator::markNoTracing(visitor, m_buffer.buffer()); | 660 Allocator::markNoTracing(visitor, m_buffer.buffer()); |
661 Allocator::registerBackingStoreReference(visitor, m_buffer.bufferSlot()); | |
662 } | |
663 } | 661 } |
664 | 662 |
665 template <typename T, size_t inlineCapacity, typename Allocator> | 663 template <typename T, size_t inlineCapacity, typename Allocator> |
666 inline void swap(Deque<T, inlineCapacity, Allocator>& a, | 664 inline void swap(Deque<T, inlineCapacity, Allocator>& a, |
667 Deque<T, inlineCapacity, Allocator>& b) { | 665 Deque<T, inlineCapacity, Allocator>& b) { |
668 a.swap(b); | 666 a.swap(b); |
669 } | 667 } |
670 | 668 |
671 } // namespace WTF | 669 } // namespace WTF |
672 | 670 |
673 using WTF::Deque; | 671 using WTF::Deque; |
674 | 672 |
675 #endif // WTF_Deque_h | 673 #endif // WTF_Deque_h |
OLD | NEW |