Changes in / [4af5396:f82f07e]


Ignore:
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/heap.cfa

    r4af5396 rf82f07e  
    1010// Created On       : Tue Dec 19 21:58:35 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Oct 13 21:41:32 2022
    13 // Update Count     : 1553
     12// Last Modified On : Wed Oct 12 18:06:01 2022
     13// Update Count     : 1528
    1414//
    1515
     
    515515                } // with
    516516        } // if
    517 
    518517        return heap;
    519518} // getHeap
     
    586585                // allocUnfreed is set to 0 when a heap is created and it accumulates any unfreed storage during its multiple thread
    587586                // usages.  At the end, add up each heap allocUnfreed value across all heaps to get the total unfreed storage.
    588                 int64_t allocUnfreed = 0;
     587                long long int allocUnfreed = 0;
    589588                for ( Heap * heap = heapMaster.heapManagersList; heap; heap = heap->nextHeapManager ) {
    590589                        allocUnfreed += heap->allocUnfreed;
     
    10431042                        if ( errno == ENOMEM ) abort( NO_MEMORY_MSG, tsize ); // no memory
    10441043                        // Do not call strerror( errno ) as it may call malloc.
    1045                         abort( "**** Error **** attempt to allocate large object (> %zu) of size %zu bytes and mmap failed with errno %d.", size, heapMaster.mmapStart, errno );
     1044                        abort( "attempt to allocate large object (> %zu) of size %zu bytes and mmap failed with errno %d.", size, heapMaster.mmapStart, errno );
    10461045                } // if
    10471046                block->header.kind.real.blockSize = MarkMmappedBit( tsize ); // storage size for munmap
     
    11071106                if ( unlikely( munmap( header, size ) == -1 ) ) {
    11081107                        // Do not call strerror( errno ) as it may call malloc.
    1109                         abort( "**** Error **** attempt to deallocate large object %p and munmap failed with errno %d.\n"
     1108                        abort( "attempt to deallocate large object %p and munmap failed with errno %d.\n"
    11101109                                   "Possible cause is invalid delete pointer: either not allocated or with corrupt header.",
    11111110                                   addr, errno );
     
    12171216
    12181217#ifdef __STATISTICS__
    1219 static void incCalls( intptr_t statName ) libcfa_nopreempt {
     1218static void incCalls( long int statName ) libcfa_nopreempt {
    12201219        heapManager->stats.counters[statName].calls += 1;
    12211220} // incCalls
    12221221
    1223 static void incZeroCalls( intptr_t statName ) libcfa_nopreempt {
     1222static void incZeroCalls( long int statName ) libcfa_nopreempt {
    12241223        heapManager->stats.counters[statName].calls_0 += 1;
    12251224} // incZeroCalls
     
    12271226
    12281227#ifdef __CFA_DEBUG__
    1229 static void incUnfreed( intptr_t offset ) libcfa_nopreempt {
     1228static void incUnfreed( size_t offset ) libcfa_nopreempt {
    12301229        heapManager->allocUnfreed += offset;
    12311230} // incUnfreed
     
    15681567                if ( write( STDERR_FILENO, MALLOC_STATS_MSG, sizeof( MALLOC_STATS_MSG ) - 1 /* size includes '\0' */ ) == -1 ) {
    15691568                #endif // __STATISTICS__
    1570                         abort( "**** Error **** write failed in malloc_stats" );
     1569                        abort( "write failed in malloc_stats" );
    15711570                } // if
    15721571        } // malloc_stats
  • tests/alloc.cfa

    r4af5396 rf82f07e  
    1010// Created On       : Wed Feb  3 07:56:22 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Oct 13 21:39:34 2022
    13 // Update Count     : 449
     12// Last Modified On : Fri Jul 29 10:57:02 2022
     13// Update Count     : 436
    1414//
    1515
     
    180180        };
    181181
    182         ip = alloc();
     182    ip = alloc();
    183183        *ip = 5;
    184         double * dp = alloc( ip`resize );
     184    double * dp = alloc( ip`resize );
    185185        *dp = 5.5;
    186         S * sp = alloc( dp`resize );
     186    S * sp = alloc( dp`resize );
    187187        *sp = (S){ {0, 1, 2, 3, 4} };
    188         ip = alloc( sp`resize );
     188    ip = alloc( sp`resize );
    189189        *ip = 3;
    190         free( ip );
     190    free( ip );
    191191
    192192
    193193        // resize, array types
    194194
    195         ip = alloc( 5 );
     195    ip = alloc( 5 );
    196196        for ( i; 5 ) { ip[i] = 5; }
    197         dp = alloc( 5, ip`resize );
     197    dp = alloc( 5, ip`resize );
    198198        for ( i; 5 ) { dp[i] = 5.5; }
    199         sp = alloc( 5, dp`resize );
     199    sp = alloc( 5, dp`resize );
    200200        for ( i; 5 ) { sp[i] = (S){ {0, 1, 2, 3, 4} }; }
    201         ip = alloc( 3, sp`resize );
     201    ip = alloc( 3, sp`resize );
    202202        for ( i; 3 ) { ip[i] = 3; }
    203         ip = alloc( 7, ip`realloc );
     203    ip = alloc( 7, ip`realloc );
    204204        for ( i; 7 ) { ip[i] = 7; }
    205         ip = alloc( 7, ip`resize );
     205    ip = alloc( 7, ip`resize );
    206206        for ( i; 7 ) { ip[i] = 7; }
    207         free( ip );
     207    free( ip );
    208208
    209209
     
    217217                const_count++;
    218218        }
    219         void ^?{}( Struct & a ) { dest_count++; }                       // destruct
     219        void ^?{}( Struct & a ) {  dest_count++; }                      // destruct
    220220        Struct st, st1, sta[dim], sta1[dim], * stp, * stp1;
    221221
Note: See TracChangeset for help on using the changeset viewer.