| Index: Source/wtf/Vector.h
|
| diff --git a/Source/wtf/Vector.h b/Source/wtf/Vector.h
|
| index a49fb68864c175df5ee972dd0b8fdea8f42aedf8..2f4403bd39c08cb9ddb6c6bb4c0ff7087eb23aeb 100644
|
| --- a/Source/wtf/Vector.h
|
| +++ b/Source/wtf/Vector.h
|
| @@ -25,10 +25,10 @@
|
| #include "wtf/FastAllocBase.h"
|
| #include "wtf/Noncopyable.h"
|
| #include "wtf/NotFound.h"
|
| +#include "wtf/QuantizedAllocation.h"
|
| #include "wtf/StdLibExtras.h"
|
| #include "wtf/UnusedParam.h"
|
| #include "wtf/VectorTraits.h"
|
| -#include <limits>
|
| #include <utility>
|
| #include <string.h>
|
|
|
| @@ -257,9 +257,9 @@ static const size_t kInitialVectorSize = WTF_VECTOR_INITIAL_SIZE;
|
| void allocateBuffer(size_t newCapacity)
|
| {
|
| ASSERT(newCapacity);
|
| - // Using "unsigned" is not a limitation because Chromium's max malloc() is 2GB even on 64-bit.
|
| - RELEASE_ASSERT(newCapacity <= std::numeric_limits<unsigned>::max() / sizeof(T));
|
| - size_t sizeToAllocate = fastMallocGoodSize(newCapacity * sizeof(T));
|
| + RELEASE_ASSERT(newCapacity <= QuantizedAllocation::kMaxUnquantizedAllocation / sizeof(T));
|
| + size_t originalSizeToAllocate = newCapacity * sizeof(T);
|
| + size_t sizeToAllocate = QuantizedAllocation::quantizedSize(originalSizeToAllocate);
|
| m_capacity = sizeToAllocate / sizeof(T);
|
| m_buffer = static_cast<T*>(fastMalloc(sizeToAllocate));
|
| }
|
| @@ -272,9 +272,9 @@ static const size_t kInitialVectorSize = WTF_VECTOR_INITIAL_SIZE;
|
| void reallocateBuffer(size_t newCapacity)
|
| {
|
| ASSERT(shouldReallocateBuffer(newCapacity));
|
| - // Using "unsigned" is not a limitation because Chromium's max malloc() is 2GB even on 64-bit.
|
| - RELEASE_ASSERT(newCapacity <= std::numeric_limits<unsigned>::max() / sizeof(T));
|
| - size_t sizeToAllocate = fastMallocGoodSize(newCapacity * sizeof(T));
|
| + RELEASE_ASSERT(newCapacity <= QuantizedAllocation::kMaxUnquantizedAllocation / sizeof(T));
|
| + size_t originalSizeToAllocate = newCapacity * sizeof(T);
|
| + size_t sizeToAllocate = QuantizedAllocation::quantizedSize(originalSizeToAllocate);
|
| m_capacity = sizeToAllocate / sizeof(T);
|
| m_buffer = static_cast<T*>(fastRealloc(m_buffer, sizeToAllocate));
|
| }
|
|
|