File indexing completed on 2024-05-12 15:43:37

0001 /*
0002  *  This file is part of the KDE libraries
0003  *  Copyright (C) 2005 Apple Computer, Inc.
0004  *
0005  *  This library is free software; you can redistribute it and/or
0006  *  modify it under the terms of the GNU Library General Public
0007  *  License as published by the Free Software Foundation; either
0008  *  version 2 of the License, or (at your option) any later version.
0009  *
0010  *  This library is distributed in the hope that it will be useful,
0011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
0012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013  *  Library General Public License for more details.
0014  *
0015  *  You should have received a copy of the GNU Library General Public License
0016  *  along with this library; see the file COPYING.LIB.  If not, write to
0017  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018  *  Boston, MA 02110-1301, USA.
0019  *
0020  */
0021 
0022 #ifndef WTF_FastMalloc_h
0023 #define WTF_FastMalloc_h
0024 
0025 #include <wtf/Platform.h>
0026 #if USE(MULTIPLE_THREADS)
0027 #include <pthread.h>
0028 #endif
0029 #include <stdlib.h>
0030 #include <new>
0031 
0032 namespace WTF
0033 {
0034 
0035 inline void *fastMalloc(size_t n)
0036 {
0037     return malloc(n);
0038 }
0039 
0040 inline void *fastCalloc(size_t n_elements, size_t element_size)
0041 {
0042     return calloc(n_elements, element_size);
0043 }
0044 
0045 inline void fastFree(void *p)
0046 {
0047     free(p);
0048 }
0049 
0050 inline void *fastZeroedMalloc(size_t n)
0051 {
0052     return calloc(n, 1);
0053 }
0054 
0055 inline void *fastRealloc(void *p, size_t n)
0056 {
0057     return realloc(p, n);
0058 }
0059 
0060 #if USE(MULTIPLE_THREADS)
0061 inline void fastMallocRegisterThread(pthread_t) {}
0062 #endif
0063 
0064 } // namespace WTF
0065 
0066 using WTF::fastMalloc;
0067 using WTF::fastCalloc;
0068 using WTF::fastRealloc;
0069 using WTF::fastFree;
0070 using WTF::fastZeroedMalloc;
0071 
0072 #endif /* WTF_FastMalloc_h */