Histogram: xStreamBufferSpacesAvailable.part.0 () { const struct StreamBuffer_t * const pxStreamBuffer; size_t xSpace; size_t xOriginalTail; uint32_t ulNewBASEPRI; struct StreamBufferDef_t * xStreamBuffer; [local count: 107374]: # DEBUG D#2 s=> xStreamBuffer # DEBUG xStreamBuffer => D#2 [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_1 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] } prvReadBytesFromBuffer.part.0 (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail) { size_t xFirstLength; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; unsigned int _2; unsigned int _4; unsigned int _8; uint8_t * _10; uint8_t * _11; uint8_t * _13; uint8_t * _14; unsigned int _15; unsigned int _17; [local count: 214748]: [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxStreamBuffer_1(D)->xLength; _4 = _2 - xTail_3(D); xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>; # DEBUG xFirstLength => xFirstLength_6 # DEBUG BEGIN_STMT if (xCount_5(D) < xFirstLength_6) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_7 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = xTail_3(D) + xFirstLength_6; if (_2 < _8) goto ; [67.00%] else goto ; [33.00%] [local count: 71941]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 719407023]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 719407023]: goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _10 = pxStreamBuffer_1(D)->pucBuffer; _11 = _10 + xTail_3(D); memcpy (pucData_12(D), _11, xFirstLength_6); # DEBUG BEGIN_STMT if (xCount_5(D) > xFirstLength_6) goto ; [33.00%] else goto ; [67.00%] [local count: 11693]: # DEBUG BEGIN_STMT _13 = pucData_12(D) + xFirstLength_6; _14 = pxStreamBuffer_1(D)->pucBuffer; _15 = xCount_5(D) - xFirstLength_6; memcpy (_13, _14, _15); [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTail_16 = xTail_3(D) + xCount_5(D); # DEBUG xTail => xTail_16 # DEBUG BEGIN_STMT _17 = pxStreamBuffer_1(D)->xLength; if (xTail_16 >= _17) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT xTail_18 = xTail_16 - _17; # DEBUG xTail => xTail_18 [local count: 35433]: # xTail_19 = PHI # DEBUG xTail => xTail_19 # DEBUG BEGIN_STMT return xTail_19; } prvWriteBytesToBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead) { size_t xFirstLength; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; unsigned int _2; unsigned int _4; unsigned int _7; uint8_t * _9; uint8_t * _10; unsigned int _12; unsigned int _13; uint8_t * _15; const uint8_t * _16; unsigned int _18; [local count: 160260]: [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxStreamBuffer_1(D)->xLength; _4 = _2 - xHead_3(D); xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>; # DEBUG xFirstLength => xFirstLength_6 # DEBUG BEGIN_STMT _7 = xHead_3(D) + xFirstLength_6; if (_2 < _7) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 = pxStreamBuffer_1(D)->pucBuffer; _10 = _9 + xHead_3(D); memcpy (_10, pucData_11(D), xFirstLength_6); # DEBUG BEGIN_STMT if (xCount_5(D) > xFirstLength_6) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: # DEBUG BEGIN_STMT _12 = xCount_5(D) - xFirstLength_6; _13 = pxStreamBuffer_1(D)->xLength; if (_12 > _13) goto ; [67.00%] else goto ; [33.00%] [local count: 17717]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 177167401]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 177167401]: goto ; [100.00%] [local count: 8726]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = pxStreamBuffer_1(D)->pucBuffer; _16 = pucData_11(D) + xFirstLength_6; memcpy (_15, _16, _12); [local count: 35169]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xHead_17 = xHead_3(D) + xCount_5(D); # DEBUG xHead => xHead_17 # DEBUG BEGIN_STMT _18 = pxStreamBuffer_1(D)->xLength; if (xHead_17 >= _18) goto ; [50.00%] else goto ; [50.00%] [local count: 17584]: # DEBUG BEGIN_STMT xHead_19 = xHead_17 - _18; # DEBUG xHead => xHead_19 [local count: 35169]: # xHead_20 = PHI # DEBUG xHead => xHead_20 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xHead_20; } prvInitialiseNewStreamBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags) { const BaseType_t xWriteValue; uint32_t ulNewBASEPRI; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT memset (pxStreamBuffer_1(D), 0, 36); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->pucBuffer = pucBuffer_2(D); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->xLength = xBufferSizeBytes_3(D); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->xTriggerLevelBytes = xTriggerLevelBytes_4(D); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->ucFlags = ucFlags_5(D); return; } ucStreamBufferGetStreamBufferType (struct StreamBufferDef_t * xStreamBuffer) { unsigned char _1; uint8_t _4; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = xStreamBuffer_3(D)->ucFlags; _4 = _1 & 1; return _4; } vStreamBufferSetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer, UBaseType_t uxStreamBufferNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT xStreamBuffer_2(D)->uxStreamBufferNumber = uxStreamBufferNumber_3(D); return; } uxStreamBufferGetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer) { UBaseType_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = xStreamBuffer_2(D)->uxStreamBufferNumber; return _3; } prvInitialiseNewStreamBuffer (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags) { uint32_t ulNewBASEPRI; void * _1; [local count: 130040]: # DEBUG BEGIN_STMT # DEBUG xWriteValue => 85 # DEBUG BEGIN_STMT _1 = memset (pucBuffer_4(D), 85, xBufferSizeBytes_5(D)); if (_1 != pucBuffer_4(D)) goto ; [82.57%] else goto ; [17.43%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_10 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 22666]: prvInitialiseNewStreamBuffer.part.0 (pxStreamBuffer_7(D), pucBuffer_4(D), xBufferSizeBytes_5(D), xTriggerLevelBytes_8(D), ucFlags_9(D)); return; } prvBytesInBuffer (const struct StreamBuffer_t * const pxStreamBuffer) { size_t xCount; unsigned int _1; unsigned int _2; unsigned int _7; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxStreamBuffer_5(D)->xLength; _2 ={v} pxStreamBuffer_5(D)->xHead; xCount_6 = _1 + _2; # DEBUG xCount => xCount_6 # DEBUG BEGIN_STMT _7 ={v} pxStreamBuffer_5(D)->xTail; xCount_8 = xCount_6 - _7; # DEBUG xCount => xCount_8 # DEBUG BEGIN_STMT if (_1 <= xCount_8) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT xCount_9 = xCount_8 - _1; # DEBUG xCount => xCount_9 [local count: 1073741824]: # xCount_3 = PHI # DEBUG xCount => xCount_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xCount_3; } prvReadBytesFromBuffer (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail) { uint32_t ulNewBASEPRI; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCount_3(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: xTail_1 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xTail_6(D)); # DEBUG xTail => xTail_1 # DEBUG BEGIN_STMT return xTail_1; } prvWriteBytesToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead) { uint32_t ulNewBASEPRI; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCount_3(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: xHead_1 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xHead_6(D)); # DEBUG xHead => xHead_1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xHead_1; } xStreamBufferReceiveCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_10 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_12 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend; if (_1 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 133963]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend; xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend ={v} 0B; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 250539]: # xReturn_3 = PHI <1(6), 0(5)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_11 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_3; } xStreamBufferSendCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_10 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_12 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive; if (_1 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 133963]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive; xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive ={v} 0B; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 250539]: # xReturn_3 = PHI <1(6), 0(5)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_11 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_3; } xStreamBufferIsFull (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; size_t xBytesToStoreMessageLength; BaseType_t xReturn; unsigned char _1; unsigned int _2; unsigned char _6; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT if (xStreamBuffer_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags; _6 = _1 & 1; if (_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xBytesToStoreMessageLength => 0 [local count: 250539]: # xBytesToStoreMessageLength_4 = PHI <4(5), 0(6)> # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_4 # DEBUG BEGIN_STMT _2 = xStreamBufferSpacesAvailable (xStreamBuffer_5(D)); if (_2 <= xBytesToStoreMessageLength_4) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_3 = PHI <1(7), 0(8)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; } xStreamBufferIsEmpty (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; size_t xTail; BaseType_t xReturn; unsigned int _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_3(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTail_5 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xTail; # DEBUG xTail => xTail_5 # DEBUG BEGIN_STMT _1 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xHead; if (_1 == xTail_5) goto ; [34.00%] else goto ; [66.00%] [local count: 165356]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_2 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } prvReadMessageFromBuffer (struct StreamBuffer_t * pxStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, size_t xBytesAvailable) { size_t xTail; size_t xNextTail; size_t xTempNextMessageLength; size_t xNextMessageLength; size_t xCount; unsigned char _1; unsigned int _2; unsigned char _12; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xNextTail_10 ={v} pxStreamBuffer_9(D)->xTail; # DEBUG xNextTail => xNextTail_10 # DEBUG BEGIN_STMT _1 = pxStreamBuffer_9(D)->ucFlags; _12 = _1 & 1; if (_12 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => pxStreamBuffer_9(D) # DEBUG pucData => &xTempNextMessageLength # DEBUG xCount => 4 # DEBUG xTail => xNextTail_10 # DEBUG INLINE_ENTRY prvReadBytesFromBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTail_21 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_9(D), &xTempNextMessageLength, 4, xNextTail_10); # DEBUG xTail => xTail_21 # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => NULL # DEBUG pucData => NULL # DEBUG xCount => NULL # DEBUG xTail => NULL # DEBUG ulNewBASEPRI => NULL # DEBUG xNextTail => xTail_21 # DEBUG BEGIN_STMT xNextMessageLength_14 = xTempNextMessageLength; # DEBUG xNextMessageLength => xNextMessageLength_14 # DEBUG BEGIN_STMT xBytesAvailable_15 = xBytesAvailable_13(D) + 4294967292; # DEBUG xBytesAvailable => xBytesAvailable_15 # DEBUG BEGIN_STMT if (xBufferLengthBytes_11(D) < xNextMessageLength_14) goto ; [50.00%] else goto ; [50.00%] [local count: 177167401]: # DEBUG BEGIN_STMT # DEBUG xNextMessageLength => 0 [local count: 1073741824]: # xBytesAvailable_3 = PHI # xNextMessageLength_4 = PHI <0(4), xBufferLengthBytes_11(D)(2), xNextMessageLength_14(3)> # xNextTail_5 = PHI # DEBUG xNextTail => xNextTail_5 # DEBUG xNextMessageLength => xNextMessageLength_4 # DEBUG xBytesAvailable => xBytesAvailable_3 # DEBUG BEGIN_STMT xCount_16 = MIN_EXPR ; # DEBUG xCount => xCount_16 # DEBUG BEGIN_STMT if (xCount_16 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _2 = prvReadBytesFromBuffer (pxStreamBuffer_9(D), pvRxData_17(D), xCount_16, xNextTail_5); pxStreamBuffer_9(D)->xTail ={v} _2; [local count: 1073741824]: # DEBUG BEGIN_STMT xTempNextMessageLength ={v} {CLOBBER}; return xCount_16; } xStreamBufferReceiveFromISR (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xBytesToStoreMessageLength; size_t xBytesAvailable; size_t xReceivedLength; unsigned char _1; struct tskTaskControlBlock * _2; struct tskTaskControlBlock * _3; unsigned char _9; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_8(D) # DEBUG BEGIN_STMT # DEBUG xReceivedLength => 0 # DEBUG BEGIN_STMT if (pvRxData_10(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_20 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_20 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_8(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_21 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_21 [local count: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].ucFlags; _9 = _1 & 1; if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT # DEBUG xBytesToStoreMessageLength => 0 [local count: 175378]: # xBytesToStoreMessageLength_5 = PHI <4(8), 0(9)> # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_5 # DEBUG BEGIN_STMT xBytesAvailable_13 = prvBytesInBuffer (xStreamBuffer_8(D)); # DEBUG xBytesAvailable => xBytesAvailable_13 # DEBUG BEGIN_STMT if (xBytesToStoreMessageLength_5 < xBytesAvailable_13) goto ; [33.00%] else goto ; [67.00%] [local count: 57875]: # DEBUG BEGIN_STMT xReceivedLength_16 = prvReadMessageFromBuffer (xStreamBuffer_8(D), pvRxData_10(D), xBufferLengthBytes_14(D), xBytesAvailable_13); # DEBUG xReceivedLength => xReceivedLength_16 # DEBUG BEGIN_STMT if (xReceivedLength_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 28937]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_22, "=r" ulNewBASEPRI_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_22 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_22 # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 15473]: # DEBUG BEGIN_STMT _3 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend; xTaskGenericNotifyFromISR (_3, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_17(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend ={v} 0B; [local count: 28937]: # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_22 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_22 : "memory"); [local count: 175378]: # xReceivedLength_4 = PHI <0(10), xReceivedLength_16(14), xReceivedLength_16(11)> # DEBUG ulNewMaskValue => NULL # DEBUG xReceivedLength => xReceivedLength_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReceivedLength_4; } xStreamBufferNextMessageLengthBytes (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xTempReturn; size_t xBytesAvailable; size_t xReturn; unsigned char _1; unsigned int _2; unsigned char _6; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_13 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags; _6 = _1 & 1; if (_6 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 82678]: # DEBUG BEGIN_STMT xBytesAvailable_9 = prvBytesInBuffer (xStreamBuffer_5(D)); # DEBUG xBytesAvailable => xBytesAvailable_9 # DEBUG BEGIN_STMT if (xBytesAvailable_9 > 4) goto ; [33.00%] else goto ; [67.00%] [local count: 27284]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTail; prvReadBytesFromBuffer (xStreamBuffer_5(D), &xTempReturn, 4, _2); # DEBUG BEGIN_STMT xReturn_11 = xTempReturn; # DEBUG xReturn => xReturn_11 goto ; [100.00%] [local count: 55394]: # DEBUG BEGIN_STMT if (xBytesAvailable_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 27697]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 276971704]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 276971704]: goto ; [100.00%] [local count: 222842]: # xReturn_3 = PHI <0(8), 0(5), xReturn_11(7)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT xTempReturn ={v} {CLOBBER}; return xReturn_3; } xStreamBufferReceive (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xBytesToStoreMessageLength; size_t xBytesAvailable; size_t xReceivedLength; unsigned char _1; struct tskTaskControlBlock * _2; struct tskTaskControlBlock * _3; struct tskTaskControlBlock * _4; struct tskTaskControlBlock * _5; unsigned char _14; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_13(D) # DEBUG BEGIN_STMT # DEBUG xReceivedLength => 0 # DEBUG BEGIN_STMT if (pvRxData_15(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_38 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_38 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_13(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_39 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_39 [local count: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].ucFlags; _14 = _1 & 1; if (_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT # DEBUG xBytesToStoreMessageLength => 0 [local count: 175378]: # xBytesToStoreMessageLength_8 = PHI <4(8), 0(9)> # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_8 # DEBUG BEGIN_STMT if (xTicksToWait_17(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xBytesAvailable_22 = prvBytesInBuffer (xStreamBuffer_13(D)); # DEBUG xBytesAvailable => xBytesAvailable_22 # DEBUG BEGIN_STMT if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22) goto ; [50.00%] else goto ; [50.00%] [local count: 43844]: # DEBUG BEGIN_STMT xTaskGenericNotifyStateClear (0B, 0); # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive; if (_2 != 0B) goto ; [82.57%] else goto ; [17.43%] [local count: 36202]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_40 [local count: 362023689]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 362023689]: goto ; [100.00%] [local count: 7642]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTaskGetCurrentTaskHandle (); MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} _3; [local count: 51486]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22) goto ; [33.00%] else goto ; [67.00%] [local count: 16991]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait_17(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} 0B; # DEBUG BEGIN_STMT xBytesAvailable_30 = prvBytesInBuffer (xStreamBuffer_13(D)); # DEBUG xBytesAvailable => xBytesAvailable_30 goto ; [100.00%] [local count: 87689]: # DEBUG BEGIN_STMT xBytesAvailable_19 = prvBytesInBuffer (xStreamBuffer_13(D)); # DEBUG xBytesAvailable => xBytesAvailable_19 [local count: 139175]: # xBytesAvailable_7 = PHI # DEBUG xBytesAvailable => xBytesAvailable_7 # DEBUG BEGIN_STMT if (xBytesAvailable_7 > xBytesToStoreMessageLength_8) goto ; [33.00%] else goto ; [67.00%] [local count: 45928]: # DEBUG BEGIN_STMT xReceivedLength_33 = prvReadMessageFromBuffer (xStreamBuffer_13(D), pvRxData_15(D), xBufferLengthBytes_31(D), xBytesAvailable_7); # DEBUG xReceivedLength => xReceivedLength_33 # DEBUG BEGIN_STMT if (xReceivedLength_33 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 15156]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend; if (_4 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 8104]: # DEBUG BEGIN_STMT _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend; xTaskGenericNotify (_5, 0, 0, 0, 0B); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend ={v} 0B; [local count: 15156]: # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT [local count: 139175]: # xReceivedLength_6 = PHI <0(19), xReceivedLength_33(23), xReceivedLength_33(20)> # DEBUG xReceivedLength => xReceivedLength_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReceivedLength_6; } prvWriteMessageToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, size_t xSpace, size_t xRequiredSpace) { size_t xHead; size_t xNextHead; unsigned char _1; unsigned int xDataLengthBytes.2_2; unsigned int _3; unsigned int xDataLengthBytes.3_4; unsigned int _5; size_t _19; unsigned char _22; [local count: 1073741824]: # DEBUG BEGIN_STMT xNextHead_11 ={v} pxStreamBuffer_10(D)->xHead; # DEBUG xNextHead => xNextHead_11 # DEBUG BEGIN_STMT _1 = pxStreamBuffer_10(D)->ucFlags; _22 = _1 & 1; if (_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT if (xSpace_12(D) >= xRequiredSpace_14(D)) goto ; [33.00%] else goto ; [67.00%] [local count: 177167401]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => pxStreamBuffer_10(D) # DEBUG pucData => &xDataLengthBytes # DEBUG xCount => 4 # DEBUG xHead => xNextHead_11 # DEBUG INLINE_ENTRY prvWriteBytesToBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xHead_20 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_10(D), &xDataLengthBytes, 4, xNextHead_11); # DEBUG xHead => xHead_20 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => NULL # DEBUG pucData => NULL # DEBUG xCount => NULL # DEBUG xHead => NULL # DEBUG ulNewBASEPRI => NULL # DEBUG xNextHead => xHead_20 goto ; [100.00%] [local count: 359703511]: # DEBUG BEGIN_STMT xDataLengthBytes = 0; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT xDataLengthBytes.2_2 = xDataLengthBytes; _3 = MIN_EXPR ; xDataLengthBytes = _3; [local count: 1073741824]: # xNextHead_6 = PHI # DEBUG xNextHead => xNextHead_6 # DEBUG BEGIN_STMT xDataLengthBytes.3_4 = xDataLengthBytes; if (xDataLengthBytes.3_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _5 = prvWriteBytesToBuffer (pxStreamBuffer_10(D), pvTxData_16(D), xDataLengthBytes.3_4, xNextHead_6); pxStreamBuffer_10(D)->xHead ={v} _5; [local count: 1073741824]: # DEBUG BEGIN_STMT _19 = xDataLengthBytes; return _19; } xStreamBufferSendFromISR (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xRequiredSpace; size_t xSpace; size_t xReturn; unsigned char _1; unsigned int _2; unsigned int _3; struct tskTaskControlBlock * _4; struct tskTaskControlBlock * _5; unsigned char _10; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_9(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xRequiredSpace => xDataLengthBytes_11(D) # DEBUG BEGIN_STMT if (pvTxData_12(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_9(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_24 [local count: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags; _10 = _1 & 1; if (_10 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT xRequiredSpace_14 = xDataLengthBytes_11(D) + 4; # DEBUG xRequiredSpace => xRequiredSpace_14 [local count: 175378]: # xRequiredSpace_6 = PHI # DEBUG xRequiredSpace => xRequiredSpace_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xSpace_16 = xStreamBufferSpacesAvailable (xStreamBuffer_9(D)); # DEBUG xSpace => xSpace_16 # DEBUG BEGIN_STMT xReturn_18 = prvWriteMessageToBuffer (xStreamBuffer_9(D), pvTxData_12(D), xDataLengthBytes_11(D), xSpace_16, xRequiredSpace_6); # DEBUG xReturn => xReturn_18 # DEBUG BEGIN_STMT if (xReturn_18 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 57875]: # DEBUG BEGIN_STMT _2 = prvBytesInBuffer (xStreamBuffer_9(D)); _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes; if (_2 >= _3) goto ; [50.00%] else goto ; [50.00%] [local count: 28937]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive; if (_4 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 15473]: # DEBUG BEGIN_STMT _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive; xTaskGenericNotifyFromISR (_5, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_20(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive ={v} 0B; [local count: 28937]: # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory"); [local count: 175378]: # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_18; } xStreamBufferSend (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xMaxReportedSpace; struct TimeOut_t xTimeOut; size_t xRequiredSpace; size_t xSpace; size_t xReturn; unsigned int _1; unsigned char _2; unsigned int _3; long unsigned int xTicksToWait.0_4; struct tskTaskControlBlock * _5; struct tskTaskControlBlock * _6; long unsigned int xTicksToWait.1_7; long int _8; unsigned int _9; unsigned int _10; struct tskTaskControlBlock * _11; struct tskTaskControlBlock * _12; unsigned char _23; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_22(D) # DEBUG BEGIN_STMT # DEBUG xSpace => 0 # DEBUG BEGIN_STMT # DEBUG xRequiredSpace => xDataLengthBytes_25(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xMaxReportedSpace => 0 # DEBUG BEGIN_STMT if (pvTxData_27(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_54 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_54 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_22(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_55 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_55 [local count: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xLength; xMaxReportedSpace_29 = _1 + 4294967295; # DEBUG xMaxReportedSpace => xMaxReportedSpace_29 # DEBUG BEGIN_STMT _2 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].ucFlags; _23 = _2 & 1; if (_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT xRequiredSpace_30 = xDataLengthBytes_25(D) + 4; # DEBUG xRequiredSpace => xRequiredSpace_30 # DEBUG BEGIN_STMT if (xDataLengthBytes_25(D) >= xRequiredSpace_30) goto ; [50.00%] else goto ; [50.00%] [local count: 43844]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_56 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_56 [local count: 438444579]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 438444579]: goto ; [100.00%] [local count: 43844]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xMaxReportedSpace_29 < xRequiredSpace_30) goto ; [50.00%] else goto ; [50.00%] [local count: 21922]: # DEBUG BEGIN_STMT xTicksToWait = 0; goto ; [100.00%] [local count: 87689]: # DEBUG BEGIN_STMT _3 = MIN_EXPR ; [local count: 131533]: # xRequiredSpace_15 = PHI # DEBUG xRequiredSpace => xRequiredSpace_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTicksToWait.0_4 = xTicksToWait; if (xTicksToWait.0_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 65767]: # DEBUG BEGIN_STMT vTaskSetTimeOutState (&xTimeOut); [local count: 621434]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xSpace_35 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D)); # DEBUG xSpace => xSpace_35 # DEBUG BEGIN_STMT if (xRequiredSpace_15 > xSpace_35) goto ; [96.34%] else goto ; [3.66%] [local count: 598690]: # DEBUG BEGIN_STMT xTaskGenericNotifyStateClear (0B, 0); # DEBUG BEGIN_STMT _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend; if (_5 != 0B) goto ; [3.66%] else goto ; [96.34%] [local count: 21912]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_57 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_57 [local count: 219120732]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 219120732]: goto ; [100.00%] [local count: 576777]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = xTaskGetCurrentTaskHandle (); MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} _6; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTicksToWait.1_7 = xTicksToWait; xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait.1_7); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} 0B; # DEBUG BEGIN_STMT _8 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_8 == 0) goto ; [96.34%] else goto ; [3.66%] [local count: 555667]: goto ; [100.00%] [local count: 22744]: # xSpace_24 = PHI # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT [local count: 43855]: # xSpace_13 = PHI # DEBUG xSpace => xSpace_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xSpace_13 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87694]: # DEBUG xSpace => NULL # DEBUG BEGIN_STMT xSpace_45 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D)); # DEBUG xSpace => xSpace_45 [local count: 109621]: # xSpace_14 = PHI # DEBUG xSpace => xSpace_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_47 = prvWriteMessageToBuffer (xStreamBuffer_22(D), pvTxData_27(D), xDataLengthBytes_25(D), xSpace_14, xRequiredSpace_15); # DEBUG xReturn => xReturn_47 # DEBUG BEGIN_STMT if (xReturn_47 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 36175]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 = prvBytesInBuffer (xStreamBuffer_22(D)); _10 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTriggerLevelBytes; if (_9 >= _10) goto ; [33.00%] else goto ; [67.00%] [local count: 11938]: # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive; if (_11 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 6383]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive; xTaskGenericNotify (_12, 0, 0, 0, 0B); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive ={v} 0B; [local count: 11938]: # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT [local count: 109621]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTimeOut ={v} {CLOBBER}; return xReturn_47; } xStreamBufferBytesAvailable (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; size_t xReturn; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_1(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_1(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_4 = prvBytesInBuffer (xStreamBuffer_1(D)); # DEBUG xReturn => xReturn_4 # DEBUG BEGIN_STMT return xReturn_4; } xStreamBufferSpacesAvailable (struct StreamBufferDef_t * xStreamBuffer) { size_t xOriginalTail; size_t xSpace; unsigned int _1; unsigned int _2; unsigned int _3; unsigned int _4; unsigned int _12; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_7(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_7(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG D#1 => xStreamBuffer_7(D) xStreamBufferSpacesAvailable.part.0 (); [local count: 250539]: [local count: 2277630]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xOriginalTail_10 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail; # DEBUG xOriginalTail => xOriginalTail_10 # DEBUG BEGIN_STMT _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xLength; _2 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail; xSpace_11 = _1 + _2; # DEBUG xSpace => xSpace_11 # DEBUG BEGIN_STMT _12 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xHead; xSpace_13 = xSpace_11 - _12; # DEBUG xSpace => xSpace_13 # DEBUG BEGIN_STMT _3 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail; if (_3 != xOriginalTail_10) goto ; [89.00%] else goto ; [11.00%] [local count: 2027091]: goto ; [100.00%] [local count: 250539]: # _4 = PHI <_1(4)> # xSpace_5 = PHI # DEBUG BEGIN_STMT xSpace_14 = xSpace_5 + 4294967295; # DEBUG xSpace => xSpace_14 # DEBUG BEGIN_STMT if (_4 <= xSpace_14) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT xSpace_15 = xSpace_14 - _4; # DEBUG xSpace => xSpace_15 [local count: 250539]: # xSpace_6 = PHI # DEBUG xSpace => xSpace_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xSpace_6; } xStreamBufferSetTriggerLevel (struct StreamBufferDef_t * xStreamBuffer, size_t xTriggerLevel) { uint32_t ulNewBASEPRI; BaseType_t xReturn; unsigned int _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_4(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTriggerLevel_8 = MAX_EXPR <1, xTriggerLevel_5(D)>; # DEBUG xTriggerLevel => xTriggerLevel_8 # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xLength; if (_1 > xTriggerLevel_8) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xTriggerLevelBytes = xTriggerLevel_8; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 250539]: # xReturn_2 = PHI <1(6), 0(5)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } xStreamBufferReset (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; UBaseType_t uxStreamBufferNumber; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; uint8_t * _3; unsigned int _4; unsigned int _5; unsigned char _6; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_9(D) # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_9(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_16 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_16 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxStreamBufferNumber_11 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber; # DEBUG uxStreamBufferNumber => uxStreamBufferNumber_11 # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive; if (_1 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 37017]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToSend; if (_2 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 6452]: # DEBUG BEGIN_STMT _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].pucBuffer; _4 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xLength; _5 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes; _6 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags; prvInitialiseNewStreamBuffer (xStreamBuffer_9(D), _3, _4, _5, _6); # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber = uxStreamBufferNumber_11; [local count: 123389]: # xReturn_7 = PHI <0(5), 0(6), 1(7)> # DEBUG xReturn => xReturn_7 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_7; } vStreamBufferDelete (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; unsigned char _1; unsigned char _4; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_3(D) # DEBUG BEGIN_STMT if (xStreamBuffer_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_3(D)].ucFlags; _4 = _1 & 2; if (_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT vPortFree (xStreamBuffer_3(D)); goto ; [100.00%] [local count: 125270]: # DEBUG BEGIN_STMT memset (xStreamBuffer_3(D), 0, 36); [local count: 250539]: return; } xStreamBufferGenericCreate (size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint8_t ucFlags; uint8_t * pucAllocatedMemory; unsigned int _1; uint8_t * _2; [local count: 325376]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xIsMessageBuffer_5(D) == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 110628]: # DEBUG BEGIN_STMT # DEBUG ucFlags => 1 # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(D) <= 4) goto ; [50.00%] else goto ; [50.00%] [local count: 55314]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_15 [local count: 553139728]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 553139728]: goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG ucFlags => 0 # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_16 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_16 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 162688]: # ucFlags_3 = PHI <1(3), 0(6)> # DEBUG ucFlags => ucFlags_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(D) < xTriggerLevelBytes_8(D)) goto ; [50.00%] else goto ; [50.00%] [local count: 81344]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [local count: 813440776]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 813440776]: goto ; [100.00%] [local count: 81344]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTriggerLevelBytes_9 = MAX_EXPR <1, xTriggerLevelBytes_8(D)>; # DEBUG xTriggerLevelBytes => xTriggerLevelBytes_9 # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(D) <= 4294967258) goto ; [54.67%] else goto ; [45.33%] [local count: 44471]: # DEBUG BEGIN_STMT xBufferSizeBytes_11 = xBufferSizeBytes_6(D) + 1; # DEBUG xBufferSizeBytes => xBufferSizeBytes_11 # DEBUG BEGIN_STMT _1 = xBufferSizeBytes_6(D) + 37; pucAllocatedMemory_13 = pvPortMalloc (_1); # DEBUG pucAllocatedMemory => pucAllocatedMemory_13 # DEBUG xBufferSizeBytes => xBufferSizeBytes_11 # DEBUG BEGIN_STMT if (pucAllocatedMemory_13 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 23779]: # DEBUG BEGIN_STMT _2 = pucAllocatedMemory_13 + 36; prvInitialiseNewStreamBuffer (pucAllocatedMemory_13, _2, xBufferSizeBytes_11, xTriggerLevelBytes_9, ucFlags_3); # DEBUG BEGIN_STMT [local count: 81344]: # pucAllocatedMemory_10 = PHI # DEBUG pucAllocatedMemory => NULL # DEBUG xBufferSizeBytes => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pucAllocatedMemory_10; }