Changeset 5951956 for libcfa/src
- Timestamp:
- Oct 13, 2022, 9:59:31 PM (2 years ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- a25bcf8
- Parents:
- 7671c6d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/heap.cfa
r7671c6d r5951956 10 10 // Created On : Tue Dec 19 21:58:35 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Oct 12 18:06:01202213 // Update Count : 15 2812 // Last Modified On : Thu Oct 13 21:41:32 2022 13 // Update Count : 1553 14 14 // 15 15 … … 515 515 } // with 516 516 } // if 517 517 518 return heap; 518 519 } // getHeap … … 585 586 // allocUnfreed is set to 0 when a heap is created and it accumulates any unfreed storage during its multiple thread 586 587 // usages. At the end, add up each heap allocUnfreed value across all heaps to get the total unfreed storage. 587 long long int allocUnfreed = 0;588 int64_t allocUnfreed = 0; 588 589 for ( Heap * heap = heapMaster.heapManagersList; heap; heap = heap->nextHeapManager ) { 589 590 allocUnfreed += heap->allocUnfreed; … … 1042 1043 if ( errno == ENOMEM ) abort( NO_MEMORY_MSG, tsize ); // no memory 1043 1044 // Do not call strerror( errno ) as it may call malloc. 1044 abort( " attempt to allocate large object (> %zu) of size %zu bytes and mmap failed with errno %d.", size, heapMaster.mmapStart, errno );1045 abort( "**** Error **** attempt to allocate large object (> %zu) of size %zu bytes and mmap failed with errno %d.", size, heapMaster.mmapStart, errno ); 1045 1046 } // if 1046 1047 block->header.kind.real.blockSize = MarkMmappedBit( tsize ); // storage size for munmap … … 1106 1107 if ( unlikely( munmap( header, size ) == -1 ) ) { 1107 1108 // Do not call strerror( errno ) as it may call malloc. 1108 abort( " attempt to deallocate large object %p and munmap failed with errno %d.\n"1109 abort( "**** Error **** attempt to deallocate large object %p and munmap failed with errno %d.\n" 1109 1110 "Possible cause is invalid delete pointer: either not allocated or with corrupt header.", 1110 1111 addr, errno ); … … 1216 1217 1217 1218 #ifdef __STATISTICS__ 1218 static void incCalls( long int statName ) libcfa_nopreempt {1219 static void incCalls( intptr_t statName ) libcfa_nopreempt { 1219 1220 heapManager->stats.counters[statName].calls += 1; 1220 1221 } // incCalls 1221 1222 1222 static void incZeroCalls( long int statName ) libcfa_nopreempt {1223 static void incZeroCalls( intptr_t statName ) libcfa_nopreempt { 1223 1224 heapManager->stats.counters[statName].calls_0 += 1; 1224 1225 } // incZeroCalls … … 1226 1227 1227 1228 #ifdef __CFA_DEBUG__ 1228 static void incUnfreed( size_t offset ) libcfa_nopreempt {1229 static void incUnfreed( intptr_t offset ) libcfa_nopreempt { 1229 1230 heapManager->allocUnfreed += offset; 1230 1231 } // incUnfreed … … 1567 1568 if ( write( STDERR_FILENO, MALLOC_STATS_MSG, sizeof( MALLOC_STATS_MSG ) - 1 /* size includes '\0' */ ) == -1 ) { 1568 1569 #endif // __STATISTICS__ 1569 abort( " write failed in malloc_stats" );1570 abort( "**** Error **** write failed in malloc_stats" ); 1570 1571 } // if 1571 1572 } // malloc_stats
Note: See TracChangeset
for help on using the changeset viewer.