Changeset a6e0e4c for libcfa/src
- Timestamp:
- Dec 11, 2020, 3:44:29 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 361bf01, 6ce9a4f2
- Parents:
- b3a0df6 (diff), 4422579 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- libcfa/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/coroutine.hfa
rb3a0df6 ra6e0e4c 144 144 145 145 if( unlikely(dst->context.SP == 0p) ) { 146 active_thread()->curr_cor = dst;147 146 __stack_prepare(&dst->stack, 65000); 148 147 __cfactx_start(main, dst, cor, __cfactx_invoke_coroutine); 149 active_thread()->curr_cor = src;150 148 } 151 149 -
libcfa/src/concurrency/io/setup.cfa
rb3a0df6 ra6e0e4c 17 17 #define _GNU_SOURCE /* See feature_test_macros(7) */ 18 18 19 #if defined(__CFA_DEBUG__) 20 // #define __CFA_DEBUG_PRINT_IO__ 21 // #define __CFA_DEBUG_PRINT_IO_CORE__ 22 #endif 23 19 24 #include "io/types.hfa" 20 25 #include "kernel.hfa" … … 111 116 112 117 void __kernel_io_startup(void) { 113 __cfa abi_dbg_print_safe("Kernel : Creating EPOLL instance\n" );118 __cfadbg_print_safe(io_core, "Kernel : Creating EPOLL instance\n" ); 114 119 115 120 iopoll.epollfd = epoll_create1(0); … … 118 123 } 119 124 120 __cfa abi_dbg_print_safe("Kernel : Starting io poller thread\n" );125 __cfadbg_print_safe(io_core, "Kernel : Starting io poller thread\n" ); 121 126 122 127 iopoll.run = true; … … 141 146 // Io polling is now fully stopped 142 147 143 __cfa abi_dbg_print_safe("Kernel : IO poller stopped\n" );148 __cfadbg_print_safe(io_core, "Kernel : IO poller stopped\n" ); 144 149 } 145 150 … … 149 154 id.id = doregister(&id); 150 155 __cfaabi_tls.this_proc_id = &id; 151 __cfa abi_dbg_print_safe("Kernel : IO poller thread starting\n" );156 __cfadbg_print_safe(io_core, "Kernel : IO poller thread starting\n" ); 152 157 153 158 // Block signals to control when they arrive … … 184 189 } 185 190 186 __cfa abi_dbg_print_safe("Kernel : IO poller thread stopping\n" );191 __cfadbg_print_safe(io_core, "Kernel : IO poller thread stopping\n" ); 187 192 unregister(&id); 188 193 return 0p; -
libcfa/src/heap.cfa
rb3a0df6 ra6e0e4c 10 10 // Created On : Tue Dec 19 21:58:35 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 7 22:17:46202013 // Update Count : 9 5712 // Last Modified On : Fri Dec 11 07:36:34 2020 13 // Update Count : 970 14 14 // 15 15 … … 464 464 } // headers 465 465 466 #ifdef __CFA_DEBUG__ 467 #if __SIZEOF_POINTER__ == 4 468 #define MASK 0xdeadbeef 469 #else 470 #define MASK 0xdeadbeefdeadbeef 471 #endif 472 #define STRIDE size_t 473 474 static void * Memset( void * addr, STRIDE size ) { // debug only 475 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 } // Memset 482 #endif // __CFA_DEBUG__ 483 466 484 #define NO_MEMORY_MSG "insufficient heap memory available for allocating %zd new bytes." 467 485 … … 483 501 #ifdef __CFA_DEBUG__ 484 502 // Set new memory to garbage so subsequent uninitialized usages might fail. 485 memset( (char *)heapEnd + heapRemaining, '\377', increase ); 503 //memset( (char *)heapEnd + heapRemaining, '\377', increase ); 504 Memset( (char *)heapEnd + heapRemaining, increase ); 486 505 #endif // __CFA_DEBUG__ 487 506 rem = heapRemaining + increase - size; … … 557 576 #ifdef __CFA_DEBUG__ 558 577 // Set new memory to garbage so subsequent uninitialized usages might fail. 559 memset( block, '\377', tsize ); 578 //memset( block, '\377', tsize ); 579 Memset( block, tsize ); 560 580 #endif // __CFA_DEBUG__ 561 581 block->header.kind.real.blockSize = tsize; // storage size for munmap … … 606 626 #ifdef __CFA_DEBUG__ 607 627 // Set free memory to garbage so subsequent usages might fail. 608 memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) ); 628 //memset( ((HeapManager.Storage *)header)->data, '\377', freeElem->blockSize - sizeof( HeapManager.Storage ) ); 629 Memset( ((HeapManager.Storage *)header)->data, freeElem->blockSize - sizeof( HeapManager.Storage ) ); 609 630 #endif // __CFA_DEBUG__ 610 631 … … 935 956 header->kind.real.size = size; // reset allocation size 936 957 if ( unlikely( ozfill ) && size > osize ) { // previous request zero fill and larger ? 937 memset( (char *)oaddr + osize, (int)'\0', size - osize ); // initialize added storage958 memset( (char *)oaddr + osize, '\0', size - osize ); // initialize added storage 938 959 } // if 939 960 return oaddr; … … 960 981 header->kind.real.blockSize |= 2; // mark new request as zero filled 961 982 if ( size > osize ) { // previous request larger ? 962 memset( (char *)naddr + osize, (int)'\0', size - osize ); // initialize added storage983 memset( (char *)naddr + osize, '\0', size - osize ); // initialize added storage 963 984 } // if 964 985 } // if … … 1327 1348 header->kind.real.blockSize |= 2; // mark new request as zero filled 1328 1349 if ( size > osize ) { // previous request larger ? 1329 memset( (char *)naddr + osize, (int)'\0', size - osize ); // initialize added storage1350 memset( (char *)naddr + osize, '\0', size - osize ); // initialize added storage 1330 1351 } // if 1331 1352 } // if
Note:
See TracChangeset
for help on using the changeset viewer.