source: libcfa/src/heap.h@ f0567a8

ADT ast-experimental enum pthread-emulation qualifiedEnum
Last change on this file since f0567a8 was 5614a191, checked in by m3zulfiq <m3zulfiq@…>, 4 years ago

removed old memory allocator and replaced it with the concurrent allocator

  • Property mode set to 100644
File size: 1.6 KB
Line 
1#pragma once
2
3#include <stdlib.h>
4#include <malloc.h>
5
6// supported mallopt options
7#ifndef M_MMAP_THRESHOLD
8#define M_MMAP_THRESHOLD (-1)
9#endif // M_MMAP_THRESHOLD
10
11#ifndef M_TOP_PAD
12#define M_TOP_PAD (-2)
13#endif // M_TOP_PAD
14
15extern "C" {
16 void * malloc( size_t size );
17 void * aalloc( size_t dim, size_t elemSize );
18 void * calloc( size_t dim, size_t elemSize );
19 void * resize( void * oaddr, size_t size );
20 void * realloc( void * oaddr, size_t size );
21 void * memalign( size_t alignment, size_t size );
22 void * amemalign( size_t align, size_t dim, size_t elemSize );
23 void * cmemalign( size_t align, size_t dim, size_t elemSize );
24 void * valloc( size_t size );
25 void * pvalloc( size_t size );
26 void free( void * addr );
27 size_t malloc_alignment( void * addr );
28 bool malloc_zero_fill( void * addr );
29 size_t malloc_size( void * addr );
30 size_t malloc_usable_size( void * addr );
31 int malloc_stats_fd( int fd );
32 int malloc_info( int options, FILE * stream );
33 int mallopt( int param_number, int value );
34 size_t malloc_expansion() __attribute__((weak)); // heap expansion size (bytes)
35 size_t malloc_mmap_start() __attribute__((weak)); // crossover allocation size from sbrk to mmap
36 size_t malloc_unfreed() __attribute__((weak)); // heap unfreed size (bytes)
37} // extern "C"
38
39#ifdef __cforall
40void * resize( void * oaddr, size_t alignment, size_t size );
41void * realloc( void * oaddr, size_t alignment, size_t size );
42#else
43extern "C" {
44 void * _X6resizeFPv_Pvmm__1( void * oaddr, size_t alignment, size_t size );
45 void * _X7reallocFPv_Pvmm__1( void * oaddr, size_t alignment, size_t size );
46}
47#endif
48
49// Local Variables: //
50// tab-width: 4 //
51// End: //
Note: See TracBrowser for help on using the repository browser.