Changeset 31807 in webkit for trunk/JavaScriptCore/wtf/Vector.h
- Timestamp:
- Apr 11, 2008, 12:37:33 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/Vector.h
r31062 r31807 629 629 if (size > capacity()) 630 630 expandCapacity(size); 631 TypeOperations::initialize(end(), begin() + size); 631 if (begin()) 632 TypeOperations::initialize(end(), begin() + size); 632 633 } 633 634 … … 649 650 if (size > capacity()) 650 651 expandCapacity(size); 651 TypeOperations::initialize(end(), begin() + size); 652 if (begin()) 653 TypeOperations::initialize(end(), begin() + size); 652 654 m_size = size; 653 655 } … … 661 663 T* oldEnd = end(); 662 664 m_buffer.allocateBuffer(newCapacity); 663 TypeOperations::move(oldBuffer, oldEnd, begin()); 665 if (begin()) 666 TypeOperations::move(oldBuffer, oldEnd, begin()); 664 667 m_buffer.deallocateBuffer(oldBuffer); 665 668 } … … 692 695 { 693 696 size_t newSize = m_size + dataSize; 694 if (newSize > capacity()) 697 if (newSize > capacity()) { 695 698 data = expandCapacity(newSize, data); 699 if (!begin()) 700 return; 701 } 696 702 T* dest = end(); 697 703 for (size_t i = 0; i < dataSize; ++i) … … 704 710 { 705 711 const U* ptr = &val; 706 if (size() == capacity()) 712 if (size() == capacity()) { 707 713 ptr = expandCapacity(size() + 1, ptr); 714 if (!begin()) 715 return; 716 } 708 717 709 718 #if COMPILER(MSVC7) … … 744 753 ASSERT(position <= size()); 745 754 size_t newSize = m_size + dataSize; 746 if (newSize > capacity()) 755 if (newSize > capacity()) { 747 756 data = expandCapacity(newSize, data); 757 if (!begin()) 758 return; 759 } 748 760 T* spot = begin() + position; 749 761 TypeOperations::moveOverlapping(spot, end(), spot + dataSize); … … 758 770 ASSERT(position <= size()); 759 771 const U* data = &val; 760 if (size() == capacity()) 772 if (size() == capacity()) { 761 773 data = expandCapacity(size() + 1, data); 774 if (!begin()) 775 return; 776 } 762 777 T* spot = begin() + position; 763 778 TypeOperations::moveOverlapping(spot, end(), spot + 1);
Note:
See TracChangeset
for help on using the changeset viewer.