diff options
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h index 541b05d3af..9f82275c44 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h @@ -26,19 +26,15 @@ #include <stdlib.h> #include <new> -#if COMPILER(GCC) -#define WTF_FAST_MALLOC_EXPORT __attribute__((visibility("default"))) -#else -#define WTF_FAST_MALLOC_EXPORT -#endif - namespace WTF { // These functions call CRASH() if an allocation fails. - void* fastMalloc(size_t) WTF_FAST_MALLOC_EXPORT; + void* fastMalloc(size_t); void* fastZeroedMalloc(size_t); - void* fastCalloc(size_t numElements, size_t elementSize) WTF_FAST_MALLOC_EXPORT; - void* fastRealloc(void*, size_t) WTF_FAST_MALLOC_EXPORT; + void* fastCalloc(size_t numElements, size_t elementSize); + void* fastRealloc(void*, size_t); + char* fastStrDup(const char*); + size_t fastMallocSize(const void*); struct TryMallocReturnValue { TryMallocReturnValue(void* data) @@ -77,7 +73,7 @@ namespace WTF { TryMallocReturnValue tryFastCalloc(size_t n_elements, size_t element_size); TryMallocReturnValue tryFastRealloc(void* p, size_t n); - void fastFree(void*) WTF_FAST_MALLOC_EXPORT; + void fastFree(void*); #ifndef NDEBUG void fastMallocForbid(); @@ -87,10 +83,9 @@ namespace WTF { void releaseFastMallocFreeMemory(); struct FastMallocStatistics { - size_t heapSize; - size_t freeSizeInHeap; - size_t freeSizeInCaches; - size_t returnedSize; + size_t reservedVMBytes; + size_t committedVMBytes; + size_t freeListBytes; }; FastMallocStatistics fastMallocStatistics(); @@ -194,17 +189,18 @@ using WTF::tryFastZeroedMalloc; using WTF::tryFastCalloc; using WTF::tryFastRealloc; using WTF::fastFree; +using WTF::fastStrDup; #ifndef NDEBUG using WTF::fastMallocForbid; using WTF::fastMallocAllow; #endif -#if COMPILER(GCC) && PLATFORM(DARWIN) +#if COMPILER(GCC) && OS(DARWIN) #define WTF_PRIVATE_INLINE __private_extern__ inline __attribute__((always_inline)) #elif COMPILER(GCC) #define WTF_PRIVATE_INLINE inline __attribute__((always_inline)) -#elif COMPILER(MSVC) +#elif COMPILER(MSVC) || COMPILER(RVCT) #define WTF_PRIVATE_INLINE __forceinline #else #define WTF_PRIVATE_INLINE inline @@ -219,17 +215,23 @@ using WTF::fastMallocAllow; // debug-only code to make sure we don't use the system malloc via the default operator // new by accident. -// We musn't customize the global operator new and delete for the Qt port. -#if !PLATFORM(QT) +#if ENABLE(GLOBAL_FASTMALLOC_NEW) -WTF_PRIVATE_INLINE void* operator new(size_t size) { return fastMalloc(size); } +#if COMPILER(MSVC) +#pragma warning(push) +#pragma warning(disable: 4290) // Disable the C++ exception specification ignored warning. +#endif +WTF_PRIVATE_INLINE void* operator new(size_t size) throw (std::bad_alloc) { return fastMalloc(size); } WTF_PRIVATE_INLINE void* operator new(size_t size, const std::nothrow_t&) throw() { return fastMalloc(size); } -WTF_PRIVATE_INLINE void operator delete(void* p) { fastFree(p); } +WTF_PRIVATE_INLINE void operator delete(void* p) throw() { fastFree(p); } WTF_PRIVATE_INLINE void operator delete(void* p, const std::nothrow_t&) throw() { fastFree(p); } -WTF_PRIVATE_INLINE void* operator new[](size_t size) { return fastMalloc(size); } +WTF_PRIVATE_INLINE void* operator new[](size_t size) throw (std::bad_alloc) { return fastMalloc(size); } WTF_PRIVATE_INLINE void* operator new[](size_t size, const std::nothrow_t&) throw() { return fastMalloc(size); } -WTF_PRIVATE_INLINE void operator delete[](void* p) { fastFree(p); } +WTF_PRIVATE_INLINE void operator delete[](void* p) throw() { fastFree(p); } WTF_PRIVATE_INLINE void operator delete[](void* p, const std::nothrow_t&) throw() { fastFree(p); } +#if COMPILER(MSVC) +#pragma warning(pop) +#endif #endif |