Changeset 163693 in webkit


Ignore:
Timestamp:
Feb 7, 2014 9:33:05 PM (10 years ago)
Author:
ddkilzer@apple.com
Message:

[ASan] Use new/delete in PODFreeListArena
<http://webkit.org/b/128437>

Reviewed by Oliver Hunt.

  • platform/PODFreeListArena.h:

(WebCore::PODFreeListArena::allocateObject): Use new when
ADDRESS_SANITIZER is defined.
(WebCore::PODFreeListArena::freeObject): Use delete when
ADDRESS_SANITIZER is defined.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r163692 r163693  
     12014-02-07  David Kilzer  <ddkilzer@apple.com>
     2
     3        [ASan] Use new/delete in PODFreeListArena
     4        <http://webkit.org/b/128437>
     5
     6        Reviewed by Oliver Hunt.
     7
     8        * platform/PODFreeListArena.h:
     9        (WebCore::PODFreeListArena::allocateObject): Use new when
     10        ADDRESS_SANITIZER is defined.
     11        (WebCore::PODFreeListArena::freeObject): Use delete when
     12        ADDRESS_SANITIZER is defined.
     13
    1142014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
    215
  • trunk/Source/WebCore/platform/PODFreeListArena.h

    r157653 r163693  
    4141    template<class Argument1Type> T* allocateObject(const Argument1Type& argument1)
    4242    {
     43#if defined(ADDRESS_SANITIZER)
     44        return new T(argument1);
     45#else
    4346        size_t roundedSize = roundUp(sizeof(T), minAlignment<T>());
    4447        void* ptr = allocate(roundedSize);
     
    4851        }
    4952        return static_cast<T*>(ptr);
     53#endif
    5054    }
    5155
    5256    void freeObject(T* ptr)
    5357    {
     58#if defined(ADDRESS_SANITIZER)
     59        delete ptr;
     60#else
    5461        for (typename Vector<OwnPtr<FreeListChunk>>::const_iterator it = m_chunks.begin(), end = m_chunks.end(); it != end; ++it) {
    5562            FreeListChunk* chunk = static_cast<FreeListChunk*>(it->get());
     
    5764                chunk->free(ptr);
    5865        }
     66#endif
    5967    }
    6068
Note: See TracChangeset for help on using the changeset viewer.