// // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo // // The contents of this file are covered under the licence agreement in the // file "LICENCE" distributed with Cforall. // // heap.hfa -- // // Author : Peter A. Buhr // Created On : Tue May 26 11:23:55 2020 // Last Modified By : Peter A. Buhr // Last Modified On : Mon Apr 1 09:36:20 2024 // Update Count : 25 // #pragma once #include bool traceHeap(); bool traceHeapOn(); bool traceHeapOff(); bool traceHeapTerm(); bool traceHeapTermOn(); bool traceHeapTermOff(); bool checkFree(); bool checkFreeOn(); bool checkFreeOff(); extern "C" { // New allocation operations. void * aalloc( size_t dim, size_t elemSize ) __attribute__ ((malloc)); void * resize( void * oaddr, size_t size ) __attribute__ ((malloc)); void * amemalign( size_t align, size_t dim, size_t elemSize ) __attribute__ ((malloc)); void * cmemalign( size_t align, size_t dim, size_t elemSize ) __attribute__ ((malloc)); size_t malloc_alignment( void * addr ); bool malloc_zero_fill( void * addr ); size_t malloc_size( void * addr ); int malloc_stats_fd( int fd ); size_t malloc_expansion(); // heap expansion size (bytes) size_t malloc_mmap_start(); // crossover allocation size from sbrk to mmap size_t malloc_unfreed(); // heap unfreed size (bytes) void malloc_stats_clear(); // clear heap statistics } // extern "C" // New allocation operations. void * resize( void * oaddr, size_t alignment, size_t size ); void * realloc( void * oaddr, size_t alignment, size_t size ); void * reallocarray( void * oaddr, size_t nalign, size_t dim, size_t elemSize ); // Local Variables: // // tab-width: 4 // // End: //