Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Unified Diff: third_party/WebKit/Source/platform/SharedBuffer.cpp

Issue 2247073007: Make SharedBuffer in Resource non-discardable and remove PurgeableVector (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@SharedBuffer_DoNotUnlock
Patch Set: Rebase. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/SharedBuffer.cpp
diff --git a/third_party/WebKit/Source/platform/SharedBuffer.cpp b/third_party/WebKit/Source/platform/SharedBuffer.cpp
index 48d73cd612f2ab7f0075d6072ca433ad7a10c2ef..6bfbe81f3e8940552b034a05be04357f242a4c2c 100644
--- a/third_party/WebKit/Source/platform/SharedBuffer.cpp
+++ b/third_party/WebKit/Source/platform/SharedBuffer.cpp
@@ -54,35 +54,23 @@ static inline void freeSegment(char* p)
SharedBuffer::SharedBuffer()
: m_size(0)
- , m_buffer(PurgeableVector::NotPurgeable)
{
}
SharedBuffer::SharedBuffer(size_t size)
: m_size(size)
- , m_buffer(PurgeableVector::NotPurgeable)
+ , m_buffer(size)
{
- m_buffer.reserveCapacity(size);
- m_buffer.grow(size);
}
SharedBuffer::SharedBuffer(const char* data, size_t size)
: m_size(0)
- , m_buffer(PurgeableVector::NotPurgeable)
-{
- appendInternal(data, size);
-}
-
-SharedBuffer::SharedBuffer(const char* data, size_t size, PurgeableVector::PurgeableOption purgeable)
- : m_size(0)
- , m_buffer(purgeable)
{
appendInternal(data, size);
}
SharedBuffer::SharedBuffer(const unsigned char* data, size_t size)
: m_size(0)
- , m_buffer(PurgeableVector::NotPurgeable)
{
appendInternal(reinterpret_cast<const char*>(data), size);
}
@@ -95,7 +83,7 @@ SharedBuffer::~SharedBuffer()
PassRefPtr<SharedBuffer> SharedBuffer::adoptVector(Vector<char>& vector)
{
RefPtr<SharedBuffer> buffer = create();
- buffer->m_buffer.adopt(vector);
+ buffer->m_buffer.swap(vector);
buffer->m_size = buffer->m_buffer.size();
return buffer.release();
}
@@ -178,7 +166,7 @@ PassRefPtr<SharedBuffer> SharedBuffer::copy() const
{
RefPtr<SharedBuffer> clone(adoptRef(new SharedBuffer));
clone->m_size = m_size;
- clone->m_buffer.reserveCapacity(m_size);
+ clone->m_buffer.reserveInitialCapacity(m_size);
clone->m_buffer.append(m_buffer.data(), m_buffer.size());
if (!m_segments.isEmpty()) {
const char* segment = 0;
@@ -284,7 +272,9 @@ sk_sp<SkData> SharedBuffer::getAsSkData() const
void SharedBuffer::onMemoryDump(const String& dumpPrefix, WebProcessMemoryDump* memoryDump) const
{
if (m_buffer.size()) {
- m_buffer.onMemoryDump(dumpPrefix + "/shared_buffer", memoryDump);
+ WebMemoryAllocatorDump* dump = memoryDump->createMemoryAllocatorDump(dumpPrefix + "/shared_buffer");
+ dump->addScalar("size", "bytes", m_buffer.size());
+ memoryDump->addSuballocation(dump->guid(), String(WTF::Partitions::kAllocatedObjectPoolName));
} else {
// If there is data in the segments, then it should have been allocated
// using fastMalloc.
« no previous file with comments | « third_party/WebKit/Source/platform/SharedBuffer.h ('k') | third_party/WebKit/Source/platform/SharedBufferTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698