Changes in libcfa/src/heap.cfa [e4b6b7d3:113d785]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/heap.cfa
re4b6b7d3 r113d785 10 10 // Created On : Tue Dec 19 21:58:35 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Dec 11 07:36:34202013 // Update Count : 9 7012 // Last Modified On : Mon Sep 7 22:17:46 2020 13 // Update Count : 957 14 14 // 15 15 … … 464 464 } // headers 465 465 466 #ifdef __CFA_DEBUG__467 #if __SIZEOF_POINTER__ == 4468 #define MASK 0xdeadbeef469 #else470 #define MASK 0xdeadbeefdeadbeef471 #endif472 #define STRIDE size_t473 474 static void * Memset( void * addr, STRIDE size ) { // debug only475 if ( size % sizeof(STRIDE) != 0 ) abort( "Memset() : internal error, size %zd not multiple of %zd.", size, sizeof(STRIDE) );476 if ( (STRIDE)addr % sizeof(STRIDE) != 0 ) abort( "Memset() : internal error, addr %p not multiple of %zd.", addr, sizeof(STRIDE) );477 478 STRIDE * end = (STRIDE *)addr + size / sizeof(STRIDE);479 for ( STRIDE * p = (STRIDE *)addr; p < end; p += 1 ) *p = MASK;480 return addr;481 } // Memset482 #endif // __CFA_DEBUG__483 484 466 #define NO_MEMORY_MSG "insufficient heap memory available for allocating %zd new bytes." 485 467 … … 501 483 #ifdef __CFA_DEBUG__ 502 484 // Set new memory to garbage so subsequent uninitialized usages might fail. 503 //memset( (char *)heapEnd + heapRemaining, '\377', increase ); 504 Memset( (char *)heapEnd + heapRemaining, increase ); 485 memset( (char *)heapEnd + heapRemaining, '\377', increase ); 505 486 #endif // __CFA_DEBUG__ 506 487 rem = heapRemaining + increase - size; … … 576 557 #ifdef __CFA_DEBUG__ 577 558 // Set new memory to garbage so subsequent uninitialized usages might fail. 578 //memset( block, '\377', tsize ); 579 Memset( block, tsize ); 559 memset( block, '\377', tsize ); 580 560 #endif // __CFA_DEBUG__ 581 561 block->header.kind.real.blockSize = tsize; // storage size for munmap … … 626 606 #ifdef __CFA_DEBUG__ 627 607 // Set free memory to garbage so subsequent usages might fail. 628 //memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) ); 629 Memset( ((HeapManager.Storage *)header)->data, freeElem->blockSize - sizeof( HeapManager.Storage ) ); 608 memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) ); 630 609 #endif // __CFA_DEBUG__ 631 610 … … 956 935 header->kind.real.size = size; // reset allocation size 957 936 if ( unlikely( ozfill ) && size > osize ) { // previous request zero fill and larger ? 958 memset( (char *)oaddr + osize, '\0', size - osize ); // initialize added storage937 memset( (char *)oaddr + osize, (int)'\0', size - osize ); // initialize added storage 959 938 } // if 960 939 return oaddr; … … 981 960 header->kind.real.blockSize |= 2; // mark new request as zero filled 982 961 if ( size > osize ) { // previous request larger ? 983 memset( (char *)naddr + osize, '\0', size - osize ); // initialize added storage962 memset( (char *)naddr + osize, (int)'\0', size - osize ); // initialize added storage 984 963 } // if 985 964 } // if … … 1348 1327 header->kind.real.blockSize |= 2; // mark new request as zero filled 1349 1328 if ( size > osize ) { // previous request larger ? 1350 memset( (char *)naddr + osize, '\0', size - osize ); // initialize added storage1329 memset( (char *)naddr + osize, (int)'\0', size - osize ); // initialize added storage 1351 1330 } // if 1352 1331 } // if
Note: See TracChangeset
for help on using the changeset viewer.