// // 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 : Tue Oct 4 19:08:55 2022 // Update Count : 23 // #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) } // extern "C" 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: // // mode: c // // tab-width: 4 // // End: //