source: libcfa/src/heap.hfa @ c3b9d639

ADTast-experimentalpthread-emulationqualifiedEnum
Last change on this file since c3b9d639 was 31a5f418, checked in by Peter A. Buhr <pabuhr@…>, 3 years ago

start update of heap allocator to new heap-per-thread version

  • Property mode set to 100644
File size: 1.8 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// heap.hfa --
8//
9// Author           : Peter A. Buhr
10// Created On       : Tue May 26 11:23:55 2020
11// Last Modified By : Peter A. Buhr
12// Last Modified On : Thu Apr 21 22:52:25 2022
13// Update Count     : 21
14//
15
16#pragma once
17
18#include <malloc.h>
19
20bool traceHeap();
21bool traceHeapOn();
22bool traceHeapOff();
23
24bool traceHeapTerm();
25bool traceHeapTermOn();
26bool traceHeapTermOff();
27
28bool checkFree();
29bool checkFreeOn();
30bool checkFreeOff();
31
32// supported mallopt options
33#ifndef M_MMAP_THRESHOLD
34#define M_MMAP_THRESHOLD (-1)
35#endif // M_MMAP_THRESHOLD
36
37#ifndef M_TOP_PAD
38#define M_TOP_PAD (-2)
39#endif // M_TOP_PAD
40
41extern "C" {
42        // New allocation operations.
43        void * aalloc( size_t dim, size_t elemSize ) __attribute__ ((malloc));
44        void * resize( void * oaddr, size_t size ) __attribute__ ((malloc));
45        void * amemalign( size_t align, size_t dim, size_t elemSize ) __attribute__ ((malloc));
46        void * cmemalign( size_t align, size_t dim, size_t elemSize ) __attribute__ ((malloc));
47        size_t malloc_alignment( void * addr );
48        bool malloc_zero_fill( void * addr );
49        size_t malloc_size( void * addr );
50        int malloc_stats_fd( int fd );
51        size_t malloc_usable_size( void * addr );
52        size_t malloc_expansion();                                                      // heap expansion size (bytes)
53        size_t malloc_mmap_start();                                                     // crossover allocation size from sbrk to mmap
54        size_t malloc_unfreed();                                                        // heap unfreed size (bytes)
55} // extern "C"
56
57void * resize( void * oaddr, size_t alignment, size_t size );
58void * realloc( void * oaddr, size_t alignment, size_t size );
59void * reallocarray( void * oaddr, size_t nalign, size_t dim, size_t elemSize );
60
61// Local Variables: //
62// mode: c //
63// tab-width: 4 //
64// End: //
Note: See TracBrowser for help on using the repository browser.