From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Source/WTF/wtf/MallocPtr.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'Source/WTF/wtf/MallocPtr.h') diff --git a/Source/WTF/wtf/MallocPtr.h b/Source/WTF/wtf/MallocPtr.h index 63a1fa4bf..0184b4f72 100644 --- a/Source/WTF/wtf/MallocPtr.h +++ b/Source/WTF/wtf/MallocPtr.h @@ -61,9 +61,7 @@ public: T *leakPtr() WARN_UNUSED_RETURN { - T* ptr = m_ptr; - m_ptr = nullptr; - return ptr; + return std::exchange(m_ptr, nullptr); } bool operator!() const @@ -73,7 +71,7 @@ public: MallocPtr& operator=(MallocPtr&& other) { - MallocPtr ptr = std::move(other); + MallocPtr ptr = WTFMove(other); swap(ptr); return *this; @@ -86,6 +84,19 @@ public: template friend MallocPtr adoptMallocPtr(U*); + static MallocPtr malloc(size_t size) + { + MallocPtr mallocPtr; + mallocPtr.m_ptr = static_cast(fastMalloc(size)); + + return mallocPtr; + } + + void realloc(size_t newSize) + { + m_ptr = static_cast(fastRealloc(m_ptr, newSize)); + } + private: explicit MallocPtr(T* ptr) : m_ptr(ptr) -- cgit v1.2.1