stream_buffer.c.079i.static-var 106 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460
  1. callgraph:
  2. prvReadBytesFromBuffer/86 (prvReadBytesFromBuffer) @05e941c0
  3. Type: function definition analyzed
  4. Visibility:
  5. next sharing asm name: 22
  6. References:
  7. Referring:
  8. Function prvReadBytesFromBuffer/86 is inline copy in xStreamBufferNextMessageLengthBytes/14
  9. Clone of prvReadBytesFromBuffer/22
  10. Availability: local
  11. Function flags: count:27284 (estimated locally) body local optimize_size
  12. Called by: xStreamBufferNextMessageLengthBytes/14 (inlined) (27284 (estimated locally),0.08 per call)
  13. Calls: prvReadBytesFromBuffer.part.0/53 (13642 (estimated locally),0.04 per call)
  14. xStreamBufferSpacesAvailable.part.0/62 (xStreamBufferSpacesAvailable.part.0) @05fcd7e0
  15. Type: function definition analyzed
  16. Visibility: prevailing_def_ironly artificial
  17. References:
  18. Referring:
  19. Function xStreamBufferSpacesAvailable.part.0/62 is inline copy in xStreamBufferSpacesAvailable/8
  20. Availability: local
  21. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  22. Called by: xStreamBufferSpacesAvailable/8 (inlined) (107374 (estimated locally),0.30 per call)
  23. Calls:
  24. prvReadBytesFromBuffer.part.0/53 (prvReadBytesFromBuffer.part.0) @05fcd700
  25. Type: function definition analyzed
  26. Visibility: prevailing_def_ironly artificial
  27. References:
  28. Referring:
  29. Availability: local
  30. Function flags: count:214748 (estimated locally) first_run:1 body local split_part optimize_size
  31. Called by: prvReadBytesFromBuffer/86 (13642 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer/22 (177167401 (estimated locally),0.17 per call)
  32. Calls: memcpy/41 (35433 (estimated locally),0.16 per call) memcpy/41 (11693 (estimated locally),0.05 per call)
  33. prvWriteBytesToBuffer.part.0/48 (prvWriteBytesToBuffer.part.0) @05fcd620
  34. Type: function definition analyzed
  35. Visibility: prevailing_def_ironly artificial
  36. References:
  37. Referring:
  38. Availability: local
  39. Function flags: count:160260 (estimated locally) first_run:1 body local split_part optimize_size
  40. Called by: prvWriteMessageToBuffer/12 (177167401 (estimated locally),0.17 per call) prvWriteBytesToBuffer/21 (177167401 (estimated locally),0.17 per call)
  41. Calls: memcpy/41 (52886 (estimated locally),0.33 per call) memcpy/41 (8726 (estimated locally),0.05 per call)
  42. prvInitialiseNewStreamBuffer.part.0/44 (prvInitialiseNewStreamBuffer.part.0) @05e8d8c0
  43. Type: function definition analyzed
  44. Visibility: prevailing_def_ironly artificial
  45. References:
  46. Referring:
  47. Function prvInitialiseNewStreamBuffer.part.0/44 is inline copy in prvInitialiseNewStreamBuffer/24
  48. Availability: local
  49. Function flags: count:22666 (estimated locally) first_run:1 body local split_part optimize_size
  50. Called by: prvInitialiseNewStreamBuffer/24 (inlined) (22666 (estimated locally),0.17 per call)
  51. Calls: memset/29 (22666 (estimated locally),0.17 per call)
  52. xTaskGenericNotifyFromISR/42 (xTaskGenericNotifyFromISR) @05f910e0
  53. Type: function
  54. Visibility: external public
  55. References:
  56. Referring:
  57. Availability: not_available
  58. Function flags: optimize_size
  59. Called by: xStreamBufferReceiveCompletedFromISR/20 (133963 (estimated locally),0.37 per call) xStreamBufferSendCompletedFromISR/19 (133963 (estimated locally),0.37 per call) xStreamBufferReceiveFromISR/15 (15473 (estimated locally),0.04 per call) xStreamBufferSendFromISR/11 (15473 (estimated locally),0.04 per call)
  60. Calls:
  61. memcpy/41 (memcpy) @05f7eee0
  62. Type: function
  63. Visibility: external public
  64. References:
  65. Referring:
  66. Availability: not_available
  67. Function flags: optimize_size
  68. Called by: prvReadBytesFromBuffer.part.0/53 (35433 (estimated locally),0.16 per call) prvReadBytesFromBuffer.part.0/53 (11693 (estimated locally),0.05 per call) prvWriteBytesToBuffer.part.0/48 (52886 (estimated locally),0.33 per call) prvWriteBytesToBuffer.part.0/48 (8726 (estimated locally),0.05 per call)
  69. Calls:
  70. xTaskResumeAll/40 (xTaskResumeAll) @05f7ec40
  71. Type: function
  72. Visibility: external public
  73. References:
  74. Referring:
  75. Availability: not_available
  76. Function flags: optimize_size
  77. Called by: xStreamBufferReceive/13 (15156 (estimated locally),0.04 per call) xStreamBufferSend/10 (11938 (estimated locally),0.03 per call)
  78. Calls:
  79. xTaskGenericNotify/39 (xTaskGenericNotify) @05f7eb60
  80. Type: function
  81. Visibility: external public
  82. References:
  83. Referring:
  84. Availability: not_available
  85. Function flags: optimize_size
  86. Called by: xStreamBufferReceive/13 (8104 (estimated locally),0.02 per call) xStreamBufferSend/10 (6383 (estimated locally),0.02 per call)
  87. Calls:
  88. vTaskSuspendAll/38 (vTaskSuspendAll) @05f7ea80
  89. Type: function
  90. Visibility: external public
  91. References:
  92. Referring:
  93. Availability: not_available
  94. Function flags: optimize_size
  95. Called by: xStreamBufferReceive/13 (15156 (estimated locally),0.04 per call) xStreamBufferSend/10 (11938 (estimated locally),0.03 per call)
  96. Calls:
  97. xTaskCheckForTimeOut/37 (xTaskCheckForTimeOut) @05f7e9a0
  98. Type: function
  99. Visibility: external public
  100. References:
  101. Referring:
  102. Availability: not_available
  103. Function flags: optimize_size
  104. Called by: xStreamBufferSend/10 (576777 (estimated locally),1.61 per call)
  105. Calls:
  106. xTaskGenericNotifyWait/36 (xTaskGenericNotifyWait) @05f7e8c0
  107. Type: function
  108. Visibility: external public
  109. References:
  110. Referring:
  111. Availability: not_available
  112. Function flags: optimize_size
  113. Called by: xStreamBufferReceive/13 (16991 (estimated locally),0.05 per call) xStreamBufferSend/10 (576777 (estimated locally),1.61 per call)
  114. Calls:
  115. xTaskGetCurrentTaskHandle/35 (xTaskGetCurrentTaskHandle) @05f7e7e0
  116. Type: function
  117. Visibility: external public
  118. References:
  119. Referring:
  120. Availability: not_available
  121. Function flags: optimize_size
  122. Called by: xStreamBufferReceive/13 (7642 (estimated locally),0.02 per call) xStreamBufferSend/10 (576777 (estimated locally),1.61 per call)
  123. Calls:
  124. xTaskGenericNotifyStateClear/34 (xTaskGenericNotifyStateClear) @05f7e700
  125. Type: function
  126. Visibility: external public
  127. References:
  128. Referring:
  129. Availability: not_available
  130. Function flags: optimize_size
  131. Called by: xStreamBufferReceive/13 (43844 (estimated locally),0.12 per call) xStreamBufferSend/10 (598690 (estimated locally),1.67 per call)
  132. Calls:
  133. vTaskSetTimeOutState/33 (vTaskSetTimeOutState) @05f7e620
  134. Type: function
  135. Visibility: external public
  136. References:
  137. Referring:
  138. Availability: not_available
  139. Function flags: optimize_size
  140. Called by: xStreamBufferSend/10 (65767 (estimated locally),0.18 per call)
  141. Calls:
  142. vPortExitCritical/32 (vPortExitCritical) @05f582a0
  143. Type: function
  144. Visibility: external public
  145. References:
  146. Referring:
  147. Availability: not_available
  148. Function flags: optimize_size
  149. Called by: xStreamBufferReceive/13 (51486 (estimated locally),0.14 per call) xStreamBufferSend/10 (22744 (estimated locally),0.06 per call) xStreamBufferSend/10 (576777 (estimated locally),1.61 per call) xStreamBufferReset/6 (123389 (estimated locally),0.53 per call)
  150. Calls:
  151. vPortEnterCritical/31 (vPortEnterCritical) @05f58000
  152. Type: function
  153. Visibility: external public
  154. References:
  155. Referring:
  156. Availability: not_available
  157. Function flags: optimize_size
  158. Called by: xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferSend/10 (621434 (estimated locally),1.74 per call) xStreamBufferReset/6 (123389 (estimated locally),0.53 per call)
  159. Calls:
  160. vPortFree/30 (vPortFree) @05f58e00
  161. Type: function
  162. Visibility: external public
  163. References:
  164. Referring:
  165. Availability: not_available
  166. Function flags: optimize_size
  167. Called by: vStreamBufferDelete/5 (125270 (estimated locally),0.35 per call)
  168. Calls:
  169. memset/29 (memset) @05f58c40
  170. Type: function
  171. Visibility: external public
  172. References:
  173. Referring:
  174. Availability: not_available
  175. Function flags: optimize_size
  176. Called by: vStreamBufferDelete/5 (125270 (estimated locally),0.35 per call) prvInitialiseNewStreamBuffer/24 (130040 (estimated locally),1.00 per call) prvInitialiseNewStreamBuffer.part.0/44 (22666 (estimated locally),0.17 per call)
  177. Calls:
  178. pvPortMalloc/28 (pvPortMalloc) @05f589a0
  179. Type: function
  180. Visibility: external public
  181. References:
  182. Referring:
  183. Availability: not_available
  184. Function flags: optimize_size
  185. Called by: xStreamBufferGenericCreate/4 (44471 (estimated locally),0.14 per call)
  186. Calls:
  187. ucStreamBufferGetStreamBufferType/27 (ucStreamBufferGetStreamBufferType) @05f58460
  188. Type: function definition analyzed
  189. Visibility: externally_visible public
  190. References:
  191. Referring:
  192. Availability: available
  193. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  194. Called by:
  195. Calls:
  196. vStreamBufferSetStreamBufferNumber/26 (vStreamBufferSetStreamBufferNumber) @05f581c0
  197. Type: function definition analyzed
  198. Visibility: externally_visible public
  199. References:
  200. Referring:
  201. Availability: available
  202. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  203. Called by:
  204. Calls:
  205. uxStreamBufferGetStreamBufferNumber/25 (uxStreamBufferGetStreamBufferNumber) @05f50d20
  206. Type: function definition analyzed
  207. Visibility: externally_visible public
  208. References:
  209. Referring:
  210. Availability: available
  211. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  212. Called by:
  213. Calls:
  214. prvInitialiseNewStreamBuffer/24 (prvInitialiseNewStreamBuffer) @05f50540
  215. Type: function definition analyzed
  216. Visibility: prevailing_def_ironly
  217. References:
  218. Referring:
  219. Availability: local
  220. Function flags: count:130040 (estimated locally) body local optimize_size
  221. Called by: xStreamBufferReset/6 (6452 (estimated locally),0.03 per call) xStreamBufferGenericCreate/4 (23779 (estimated locally),0.07 per call)
  222. Calls: prvInitialiseNewStreamBuffer.part.0/44 (inlined) (22666 (estimated locally),0.17 per call) memset/29 (130040 (estimated locally),1.00 per call)
  223. prvBytesInBuffer/23 (prvBytesInBuffer) @05f50ee0
  224. Type: function definition analyzed
  225. Visibility: prevailing_def_ironly
  226. References:
  227. Referring:
  228. Availability: local
  229. Function flags: count:1073741824 (estimated locally) body local nonfreeing_fn optimize_size
  230. Called by: xStreamBufferReceiveFromISR/15 (175378 (estimated locally),0.49 per call) xStreamBufferNextMessageLengthBytes/14 (82678 (estimated locally),0.23 per call) xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferReceive/13 (16991 (estimated locally),0.05 per call) xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferSendFromISR/11 (57875 (estimated locally),0.16 per call) xStreamBufferSend/10 (36175 (estimated locally),0.10 per call) xStreamBufferBytesAvailable/9 (123389 (estimated locally),0.53 per call)
  231. Calls:
  232. prvReadBytesFromBuffer/22 (prvReadBytesFromBuffer) @05f50c40
  233. Type: function definition analyzed
  234. Visibility: prevailing_def_ironly
  235. previous sharing asm name: 86
  236. References:
  237. Referring:
  238. Function prvReadBytesFromBuffer/22 is inline copy in prvReadMessageFromBuffer/16
  239. Availability: local
  240. Function flags: count:354334802 (estimated locally) body local optimize_size
  241. Called by: prvReadMessageFromBuffer/16 (inlined) (354334802 (estimated locally),0.33 per call)
  242. Calls: prvReadBytesFromBuffer.part.0/53 (177167401 (estimated locally),0.17 per call)
  243. prvWriteBytesToBuffer/21 (prvWriteBytesToBuffer) @05f507e0
  244. Type: function definition analyzed
  245. Visibility: prevailing_def_ironly
  246. References:
  247. Referring:
  248. Function prvWriteBytesToBuffer/21 is inline copy in prvWriteMessageToBuffer/12
  249. Availability: local
  250. Function flags: count:354334802 (estimated locally) body local optimize_size
  251. Called by: prvWriteMessageToBuffer/12 (inlined) (354334802 (estimated locally),0.33 per call)
  252. Calls: prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call)
  253. xStreamBufferReceiveCompletedFromISR/20 (xStreamBufferReceiveCompletedFromISR) @05f50460
  254. Type: function definition analyzed
  255. Visibility: externally_visible public
  256. References:
  257. Referring:
  258. Availability: available
  259. Function flags: count:357913 (estimated locally) body optimize_size
  260. Called by:
  261. Calls: xTaskGenericNotifyFromISR/42 (133963 (estimated locally),0.37 per call)
  262. xStreamBufferSendCompletedFromISR/19 (xStreamBufferSendCompletedFromISR) @05f500e0
  263. Type: function definition analyzed
  264. Visibility: externally_visible public
  265. References:
  266. Referring:
  267. Availability: available
  268. Function flags: count:357913 (estimated locally) body optimize_size
  269. Called by:
  270. Calls: xTaskGenericNotifyFromISR/42 (133963 (estimated locally),0.37 per call)
  271. xStreamBufferIsFull/18 (xStreamBufferIsFull) @05f428c0
  272. Type: function definition analyzed
  273. Visibility: externally_visible public
  274. References:
  275. Referring:
  276. Availability: available
  277. Function flags: count:357913 (estimated locally) body optimize_size
  278. Called by:
  279. Calls: xStreamBufferSpacesAvailable/8 (250539 (estimated locally),0.70 per call)
  280. xStreamBufferIsEmpty/17 (xStreamBufferIsEmpty) @05f42ee0
  281. Type: function definition analyzed
  282. Visibility: externally_visible public
  283. References:
  284. Referring:
  285. Availability: available
  286. Function flags: count:357913 (estimated locally) body optimize_size
  287. Called by:
  288. Calls:
  289. prvReadMessageFromBuffer/16 (prvReadMessageFromBuffer) @05f42b60
  290. Type: function definition analyzed
  291. Visibility: prevailing_def_ironly
  292. References:
  293. Referring:
  294. Availability: local
  295. Function flags: count:1073741824 (estimated locally) body local optimize_size
  296. Called by: xStreamBufferReceiveFromISR/15 (57875 (estimated locally),0.16 per call) xStreamBufferReceive/13 (45928 (estimated locally),0.13 per call)
  297. Calls: prvReadBytesFromBuffer/22 (inlined) (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer.part.0/53 (354334802 (estimated locally),0.33 per call)
  298. xStreamBufferReceiveFromISR/15 (xStreamBufferReceiveFromISR) @05f427e0
  299. Type: function definition analyzed
  300. Visibility: externally_visible public
  301. References:
  302. Referring:
  303. Availability: available
  304. Function flags: count:357913 (estimated locally) body optimize_size
  305. Called by:
  306. Calls: xTaskGenericNotifyFromISR/42 (15473 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (57875 (estimated locally),0.16 per call) prvBytesInBuffer/23 (175378 (estimated locally),0.49 per call)
  307. xStreamBufferNextMessageLengthBytes/14 (xStreamBufferNextMessageLengthBytes) @05f42380
  308. Type: function definition analyzed
  309. Visibility: externally_visible public
  310. References:
  311. Referring:
  312. Availability: available
  313. Function flags: count:357913 (estimated locally) body optimize_size
  314. Called by:
  315. Calls: prvReadBytesFromBuffer/86 (inlined) (27284 (estimated locally),0.08 per call) prvBytesInBuffer/23 (82678 (estimated locally),0.23 per call)
  316. xStreamBufferReceive/13 (xStreamBufferReceive) @05f01e00
  317. Type: function definition analyzed
  318. Visibility: externally_visible public
  319. References:
  320. Referring:
  321. Availability: available
  322. Function flags: count:357913 (estimated locally) body optimize_size
  323. Called by:
  324. Calls: xTaskResumeAll/40 (15156 (estimated locally),0.04 per call) xTaskGenericNotify/39 (8104 (estimated locally),0.02 per call) vTaskSuspendAll/38 (15156 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (45928 (estimated locally),0.13 per call) prvBytesInBuffer/23 (87689 (estimated locally),0.25 per call) prvBytesInBuffer/23 (16991 (estimated locally),0.05 per call) xTaskGenericNotifyWait/36 (16991 (estimated locally),0.05 per call) vPortExitCritical/32 (51486 (estimated locally),0.14 per call) xTaskGetCurrentTaskHandle/35 (7642 (estimated locally),0.02 per call) xTaskGenericNotifyStateClear/34 (43844 (estimated locally),0.12 per call) prvBytesInBuffer/23 (87689 (estimated locally),0.25 per call) vPortEnterCritical/31 (87689 (estimated locally),0.25 per call)
  325. prvWriteMessageToBuffer/12 (prvWriteMessageToBuffer) @05f01d20
  326. Type: function definition analyzed
  327. Visibility: prevailing_def_ironly
  328. References:
  329. Referring:
  330. Availability: local
  331. Function flags: count:1073741824 (estimated locally) body local optimize_size
  332. Called by: xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (109621 (estimated locally),0.31 per call)
  333. Calls: prvWriteBytesToBuffer/21 (inlined) (354334802 (estimated locally),0.33 per call) prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call)
  334. xStreamBufferSendFromISR/11 (xStreamBufferSendFromISR) @05f019a0
  335. Type: function definition analyzed
  336. Visibility: externally_visible public
  337. References:
  338. Referring:
  339. Availability: available
  340. Function flags: count:357913 (estimated locally) body optimize_size
  341. Called by:
  342. Calls: xTaskGenericNotifyFromISR/42 (15473 (estimated locally),0.04 per call) prvBytesInBuffer/23 (57875 (estimated locally),0.16 per call) prvWriteMessageToBuffer/12 (175378 (estimated locally),0.49 per call) xStreamBufferSpacesAvailable/8 (175378 (estimated locally),0.49 per call)
  343. xStreamBufferSend/10 (xStreamBufferSend) @05f01540
  344. Type: function definition analyzed
  345. Visibility: externally_visible public
  346. References:
  347. Referring:
  348. Availability: available
  349. Function flags: count:357913 (estimated locally) body optimize_size
  350. Called by:
  351. Calls: xTaskResumeAll/40 (11938 (estimated locally),0.03 per call) xTaskGenericNotify/39 (6383 (estimated locally),0.02 per call) vTaskSuspendAll/38 (11938 (estimated locally),0.03 per call) prvBytesInBuffer/23 (36175 (estimated locally),0.10 per call) prvWriteMessageToBuffer/12 (109621 (estimated locally),0.31 per call) xStreamBufferSpacesAvailable/8 (87694 (estimated locally),0.25 per call) vPortExitCritical/32 (22744 (estimated locally),0.06 per call) xTaskCheckForTimeOut/37 (576777 (estimated locally),1.61 per call) xTaskGenericNotifyWait/36 (576777 (estimated locally),1.61 per call) vPortExitCritical/32 (576777 (estimated locally),1.61 per call) xTaskGetCurrentTaskHandle/35 (576777 (estimated locally),1.61 per call) xTaskGenericNotifyStateClear/34 (598690 (estimated locally),1.67 per call) xStreamBufferSpacesAvailable/8 (621434 (estimated locally),1.74 per call) vPortEnterCritical/31 (621434 (estimated locally),1.74 per call) vTaskSetTimeOutState/33 (65767 (estimated locally),0.18 per call)
  352. xStreamBufferBytesAvailable/9 (xStreamBufferBytesAvailable) @05ef8d20
  353. Type: function definition analyzed
  354. Visibility: externally_visible public
  355. References:
  356. Referring:
  357. Availability: available
  358. Function flags: count:230763 (estimated locally) body optimize_size
  359. Called by:
  360. Calls: prvBytesInBuffer/23 (123389 (estimated locally),0.53 per call)
  361. xStreamBufferSpacesAvailable/8 (xStreamBufferSpacesAvailable) @05ef82a0
  362. Type: function definition analyzed
  363. Visibility: externally_visible public
  364. References:
  365. Referring:
  366. Availability: available
  367. Function flags: count:357913 (estimated locally) body optimize_size
  368. Called by: xStreamBufferIsFull/18 (250539 (estimated locally),0.70 per call) xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (87694 (estimated locally),0.25 per call) xStreamBufferSend/10 (621434 (estimated locally),1.74 per call)
  369. Calls: xStreamBufferSpacesAvailable.part.0/62 (inlined) (107374 (estimated locally),0.30 per call)
  370. xStreamBufferSetTriggerLevel/7 (xStreamBufferSetTriggerLevel) @05ef8c40
  371. Type: function definition analyzed
  372. Visibility: externally_visible public
  373. References:
  374. Referring:
  375. Availability: available
  376. Function flags: count:357913 (estimated locally) body optimize_size
  377. Called by:
  378. Calls:
  379. xStreamBufferReset/6 (xStreamBufferReset) @05ef88c0
  380. Type: function definition analyzed
  381. Visibility: externally_visible public
  382. References:
  383. Referring:
  384. Availability: available
  385. Function flags: count:230763 (estimated locally) body optimize_size
  386. Called by:
  387. Calls: vPortExitCritical/32 (123389 (estimated locally),0.53 per call) prvInitialiseNewStreamBuffer/24 (6452 (estimated locally),0.03 per call) vPortEnterCritical/31 (123389 (estimated locally),0.53 per call)
  388. vStreamBufferDelete/5 (vStreamBufferDelete) @05ef8540
  389. Type: function definition analyzed
  390. Visibility: externally_visible public
  391. References:
  392. Referring:
  393. Availability: available
  394. Function flags: count:357913 (estimated locally) body optimize_size
  395. Called by:
  396. Calls: memset/29 (125270 (estimated locally),0.35 per call) vPortFree/30 (125270 (estimated locally),0.35 per call)
  397. xStreamBufferGenericCreate/4 (xStreamBufferGenericCreate) @05ef81c0
  398. Type: function definition analyzed
  399. Visibility: externally_visible public
  400. References:
  401. Referring:
  402. Availability: available
  403. Function flags: count:325376 (estimated locally) body optimize_size
  404. Called by:
  405. Calls: prvInitialiseNewStreamBuffer/24 (23779 (estimated locally),0.07 per call) pvPortMalloc/28 (44471 (estimated locally),0.14 per call)
  406. Clearing variable flags:
  407. Function name:prvReadBytesFromBuffer/86:
  408. locals read:
  409. locals written:
  410. Function name:xStreamBufferSpacesAvailable.part.0/62:
  411. locals read:
  412. locals written:
  413. Function name:prvReadBytesFromBuffer.part.0/53:
  414. locals read:
  415. locals written:
  416. Function name:prvWriteBytesToBuffer.part.0/48:
  417. locals read:
  418. locals written:
  419. Function name:prvInitialiseNewStreamBuffer.part.0/44:
  420. locals read:
  421. locals written:
  422. Function name:ucStreamBufferGetStreamBufferType/27:
  423. locals read:
  424. locals written:
  425. Function name:vStreamBufferSetStreamBufferNumber/26:
  426. locals read:
  427. locals written:
  428. Function name:uxStreamBufferGetStreamBufferNumber/25:
  429. locals read:
  430. locals written:
  431. Function name:prvInitialiseNewStreamBuffer/24:
  432. locals read:
  433. locals written:
  434. Function name:prvBytesInBuffer/23:
  435. locals read:
  436. locals written:
  437. Function name:prvReadBytesFromBuffer/22:
  438. locals read:
  439. locals written:
  440. Function name:prvWriteBytesToBuffer/21:
  441. locals read:
  442. locals written:
  443. Function name:xStreamBufferReceiveCompletedFromISR/20:
  444. locals read:
  445. locals written:
  446. Function name:xStreamBufferSendCompletedFromISR/19:
  447. locals read:
  448. locals written:
  449. Function name:xStreamBufferIsFull/18:
  450. locals read:
  451. locals written:
  452. Function name:xStreamBufferIsEmpty/17:
  453. locals read:
  454. locals written:
  455. Function name:prvReadMessageFromBuffer/16:
  456. locals read:
  457. locals written:
  458. Function name:xStreamBufferReceiveFromISR/15:
  459. locals read:
  460. locals written:
  461. Function name:xStreamBufferNextMessageLengthBytes/14:
  462. locals read:
  463. locals written:
  464. Function name:xStreamBufferReceive/13:
  465. locals read:
  466. locals written:
  467. Function name:prvWriteMessageToBuffer/12:
  468. locals read:
  469. locals written:
  470. Function name:xStreamBufferSendFromISR/11:
  471. locals read:
  472. locals written:
  473. Function name:xStreamBufferSend/10:
  474. locals read:
  475. locals written:
  476. Function name:xStreamBufferBytesAvailable/9:
  477. locals read:
  478. locals written:
  479. Function name:xStreamBufferSpacesAvailable/8:
  480. locals read:
  481. locals written:
  482. Function name:xStreamBufferSetTriggerLevel/7:
  483. locals read:
  484. locals written:
  485. Function name:xStreamBufferReset/6:
  486. locals read:
  487. locals written:
  488. Function name:vStreamBufferDelete/5:
  489. locals read:
  490. locals written:
  491. Function name:xStreamBufferGenericCreate/4:
  492. locals read:
  493. locals written:
  494. ordered call graph: reduced
  495. ucStreamBufferGetStreamBufferType/27 (ucStreamBufferGetStreamBufferType) @05f58460
  496. Type: function definition analyzed
  497. Visibility: externally_visible public
  498. Aux: @05f0a058
  499. References:
  500. Referring:
  501. Availability: available
  502. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  503. Called by:
  504. Calls:
  505. vStreamBufferSetStreamBufferNumber/26 (vStreamBufferSetStreamBufferNumber) @05f581c0
  506. Type: function definition analyzed
  507. Visibility: externally_visible public
  508. Aux: @05f09fb8
  509. References:
  510. Referring:
  511. Availability: available
  512. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  513. Called by:
  514. Calls:
  515. uxStreamBufferGetStreamBufferNumber/25 (uxStreamBufferGetStreamBufferNumber) @05f50d20
  516. Type: function definition analyzed
  517. Visibility: externally_visible public
  518. Aux: @05f0a178
  519. References:
  520. Referring:
  521. Availability: available
  522. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  523. Called by:
  524. Calls:
  525. xStreamBufferReceiveCompletedFromISR/20 (xStreamBufferReceiveCompletedFromISR) @05f50460
  526. Type: function definition analyzed
  527. Visibility: externally_visible public
  528. Aux: @05f0a258
  529. References:
  530. Referring:
  531. Availability: available
  532. Function flags: count:357913 (estimated locally) body optimize_size
  533. Called by:
  534. Calls: xTaskGenericNotifyFromISR/42 (133963 (estimated locally),0.37 per call)
  535. xStreamBufferSendCompletedFromISR/19 (xStreamBufferSendCompletedFromISR) @05f500e0
  536. Type: function definition analyzed
  537. Visibility: externally_visible public
  538. Aux: @05f0a1d8
  539. References:
  540. Referring:
  541. Availability: available
  542. Function flags: count:357913 (estimated locally) body optimize_size
  543. Called by:
  544. Calls: xTaskGenericNotifyFromISR/42 (133963 (estimated locally),0.37 per call)
  545. xStreamBufferIsFull/18 (xStreamBufferIsFull) @05f428c0
  546. Type: function definition analyzed
  547. Visibility: externally_visible public
  548. Aux: @05f0a2f8
  549. References:
  550. Referring:
  551. Availability: available
  552. Function flags: count:357913 (estimated locally) body optimize_size
  553. Called by:
  554. Calls: xStreamBufferSpacesAvailable/8 (250539 (estimated locally),0.70 per call)
  555. xStreamBufferIsEmpty/17 (xStreamBufferIsEmpty) @05f42ee0
  556. Type: function definition analyzed
  557. Visibility: externally_visible public
  558. Aux: @05f09fd8
  559. References:
  560. Referring:
  561. Availability: available
  562. Function flags: count:357913 (estimated locally) body optimize_size
  563. Called by:
  564. Calls:
  565. xStreamBufferReceiveFromISR/15 (xStreamBufferReceiveFromISR) @05f427e0
  566. Type: function definition analyzed
  567. Visibility: externally_visible public
  568. Aux: @05f0a0b8
  569. References:
  570. Referring:
  571. Availability: available
  572. Function flags: count:357913 (estimated locally) body optimize_size
  573. Called by:
  574. Calls: xTaskGenericNotifyFromISR/42 (15473 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (57875 (estimated locally),0.16 per call) prvBytesInBuffer/23 (175378 (estimated locally),0.49 per call)
  575. xStreamBufferNextMessageLengthBytes/14 (xStreamBufferNextMessageLengthBytes) @05f42380
  576. Type: function definition analyzed
  577. Visibility: externally_visible public
  578. Aux: @05f0a218
  579. References:
  580. Referring:
  581. Availability: available
  582. Function flags: count:357913 (estimated locally) body optimize_size
  583. Called by:
  584. Calls: prvReadBytesFromBuffer/86 (inlined) (27284 (estimated locally),0.08 per call) prvBytesInBuffer/23 (82678 (estimated locally),0.23 per call)
  585. prvReadBytesFromBuffer/86 (prvReadBytesFromBuffer) @05e941c0
  586. Type: function definition analyzed
  587. Visibility:
  588. next sharing asm name: 22
  589. Aux: @05f09f58
  590. References:
  591. Referring:
  592. Function prvReadBytesFromBuffer/86 is inline copy in xStreamBufferNextMessageLengthBytes/14
  593. Clone of prvReadBytesFromBuffer/22
  594. Availability: local
  595. Function flags: count:27284 (estimated locally) body local optimize_size
  596. Called by: xStreamBufferNextMessageLengthBytes/14 (inlined) (27284 (estimated locally),0.08 per call)
  597. Calls: prvReadBytesFromBuffer.part.0/53 (13642 (estimated locally),0.04 per call)
  598. xStreamBufferReceive/13 (xStreamBufferReceive) @05f01e00
  599. Type: function definition analyzed
  600. Visibility: externally_visible public
  601. Aux: @05f0a0d8
  602. References:
  603. Referring:
  604. Availability: available
  605. Function flags: count:357913 (estimated locally) body optimize_size
  606. Called by:
  607. Calls: xTaskResumeAll/40 (15156 (estimated locally),0.04 per call) xTaskGenericNotify/39 (8104 (estimated locally),0.02 per call) vTaskSuspendAll/38 (15156 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (45928 (estimated locally),0.13 per call) prvBytesInBuffer/23 (87689 (estimated locally),0.25 per call) prvBytesInBuffer/23 (16991 (estimated locally),0.05 per call) xTaskGenericNotifyWait/36 (16991 (estimated locally),0.05 per call) vPortExitCritical/32 (51486 (estimated locally),0.14 per call) xTaskGetCurrentTaskHandle/35 (7642 (estimated locally),0.02 per call) xTaskGenericNotifyStateClear/34 (43844 (estimated locally),0.12 per call) prvBytesInBuffer/23 (87689 (estimated locally),0.25 per call) vPortEnterCritical/31 (87689 (estimated locally),0.25 per call)
  608. prvReadMessageFromBuffer/16 (prvReadMessageFromBuffer) @05f42b60
  609. Type: function definition analyzed
  610. Visibility: prevailing_def_ironly
  611. Aux: @05f0a098
  612. References:
  613. Referring:
  614. Availability: local
  615. Function flags: count:1073741824 (estimated locally) body local optimize_size
  616. Called by: xStreamBufferReceiveFromISR/15 (57875 (estimated locally),0.16 per call) xStreamBufferReceive/13 (45928 (estimated locally),0.13 per call)
  617. Calls: prvReadBytesFromBuffer/22 (inlined) (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer.part.0/53 (354334802 (estimated locally),0.33 per call)
  618. prvReadBytesFromBuffer/22 (prvReadBytesFromBuffer) @05f50c40
  619. Type: function definition analyzed
  620. Visibility: prevailing_def_ironly
  621. previous sharing asm name: 86
  622. Aux: @05f0a238
  623. References:
  624. Referring:
  625. Function prvReadBytesFromBuffer/22 is inline copy in prvReadMessageFromBuffer/16
  626. Availability: local
  627. Function flags: count:354334802 (estimated locally) body local optimize_size
  628. Called by: prvReadMessageFromBuffer/16 (inlined) (354334802 (estimated locally),0.33 per call)
  629. Calls: prvReadBytesFromBuffer.part.0/53 (177167401 (estimated locally),0.17 per call)
  630. prvReadBytesFromBuffer.part.0/53 (prvReadBytesFromBuffer.part.0) @05fcd700
  631. Type: function definition analyzed
  632. Visibility: prevailing_def_ironly artificial
  633. Aux: @05f09ff8
  634. References:
  635. Referring:
  636. Availability: local
  637. Function flags: count:214748 (estimated locally) first_run:1 body local split_part optimize_size
  638. Called by: prvReadBytesFromBuffer/86 (13642 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer/22 (177167401 (estimated locally),0.17 per call)
  639. Calls: memcpy/41 (35433 (estimated locally),0.16 per call) memcpy/41 (11693 (estimated locally),0.05 per call)
  640. xStreamBufferSendFromISR/11 (xStreamBufferSendFromISR) @05f019a0
  641. Type: function definition analyzed
  642. Visibility: externally_visible public
  643. Aux: @05f09f78
  644. References:
  645. Referring:
  646. Availability: available
  647. Function flags: count:357913 (estimated locally) body optimize_size
  648. Called by:
  649. Calls: xTaskGenericNotifyFromISR/42 (15473 (estimated locally),0.04 per call) prvBytesInBuffer/23 (57875 (estimated locally),0.16 per call) prvWriteMessageToBuffer/12 (175378 (estimated locally),0.49 per call) xStreamBufferSpacesAvailable/8 (175378 (estimated locally),0.49 per call)
  650. xStreamBufferSend/10 (xStreamBufferSend) @05f01540
  651. Type: function definition analyzed
  652. Visibility: externally_visible public
  653. Aux: @05f0a118
  654. References:
  655. Referring:
  656. Availability: available
  657. Function flags: count:357913 (estimated locally) body optimize_size
  658. Called by:
  659. Calls: xTaskResumeAll/40 (11938 (estimated locally),0.03 per call) xTaskGenericNotify/39 (6383 (estimated locally),0.02 per call) vTaskSuspendAll/38 (11938 (estimated locally),0.03 per call) prvBytesInBuffer/23 (36175 (estimated locally),0.10 per call) prvWriteMessageToBuffer/12 (109621 (estimated locally),0.31 per call) xStreamBufferSpacesAvailable/8 (87694 (estimated locally),0.25 per call) vPortExitCritical/32 (22744 (estimated locally),0.06 per call) xTaskCheckForTimeOut/37 (576777 (estimated locally),1.61 per call) xTaskGenericNotifyWait/36 (576777 (estimated locally),1.61 per call) vPortExitCritical/32 (576777 (estimated locally),1.61 per call) xTaskGetCurrentTaskHandle/35 (576777 (estimated locally),1.61 per call) xTaskGenericNotifyStateClear/34 (598690 (estimated locally),1.67 per call) xStreamBufferSpacesAvailable/8 (621434 (estimated locally),1.74 per call) vPortEnterCritical/31 (621434 (estimated locally),1.74 per call) vTaskSetTimeOutState/33 (65767 (estimated locally),0.18 per call)
  660. prvWriteMessageToBuffer/12 (prvWriteMessageToBuffer) @05f01d20
  661. Type: function definition analyzed
  662. Visibility: prevailing_def_ironly
  663. Aux: @05f0a2d8
  664. References:
  665. Referring:
  666. Availability: local
  667. Function flags: count:1073741824 (estimated locally) body local optimize_size
  668. Called by: xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (109621 (estimated locally),0.31 per call)
  669. Calls: prvWriteBytesToBuffer/21 (inlined) (354334802 (estimated locally),0.33 per call) prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call)
  670. prvWriteBytesToBuffer/21 (prvWriteBytesToBuffer) @05f507e0
  671. Type: function definition analyzed
  672. Visibility: prevailing_def_ironly
  673. Aux: @05f0a2b8
  674. References:
  675. Referring:
  676. Function prvWriteBytesToBuffer/21 is inline copy in prvWriteMessageToBuffer/12
  677. Availability: local
  678. Function flags: count:354334802 (estimated locally) body local optimize_size
  679. Called by: prvWriteMessageToBuffer/12 (inlined) (354334802 (estimated locally),0.33 per call)
  680. Calls: prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call)
  681. prvWriteBytesToBuffer.part.0/48 (prvWriteBytesToBuffer.part.0) @05fcd620
  682. Type: function definition analyzed
  683. Visibility: prevailing_def_ironly artificial
  684. Aux: @05f0a078
  685. References:
  686. Referring:
  687. Availability: local
  688. Function flags: count:160260 (estimated locally) first_run:1 body local split_part optimize_size
  689. Called by: prvWriteMessageToBuffer/12 (177167401 (estimated locally),0.17 per call) prvWriteBytesToBuffer/21 (177167401 (estimated locally),0.17 per call)
  690. Calls: memcpy/41 (52886 (estimated locally),0.33 per call) memcpy/41 (8726 (estimated locally),0.05 per call)
  691. xStreamBufferBytesAvailable/9 (xStreamBufferBytesAvailable) @05ef8d20
  692. Type: function definition analyzed
  693. Visibility: externally_visible public
  694. Aux: @05f0a198
  695. References:
  696. Referring:
  697. Availability: available
  698. Function flags: count:230763 (estimated locally) body optimize_size
  699. Called by:
  700. Calls: prvBytesInBuffer/23 (123389 (estimated locally),0.53 per call)
  701. prvBytesInBuffer/23 (prvBytesInBuffer) @05f50ee0
  702. Type: function definition analyzed
  703. Visibility: prevailing_def_ironly
  704. Aux: @05f0a138
  705. References:
  706. Referring:
  707. Availability: local
  708. Function flags: count:1073741824 (estimated locally) body local nonfreeing_fn optimize_size
  709. Called by: xStreamBufferReceiveFromISR/15 (175378 (estimated locally),0.49 per call) xStreamBufferNextMessageLengthBytes/14 (82678 (estimated locally),0.23 per call) xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferReceive/13 (16991 (estimated locally),0.05 per call) xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferSendFromISR/11 (57875 (estimated locally),0.16 per call) xStreamBufferSend/10 (36175 (estimated locally),0.10 per call) xStreamBufferBytesAvailable/9 (123389 (estimated locally),0.53 per call)
  710. Calls:
  711. xStreamBufferSpacesAvailable/8 (xStreamBufferSpacesAvailable) @05ef82a0
  712. Type: function definition analyzed
  713. Visibility: externally_visible public
  714. Aux: @05f09f98
  715. References:
  716. Referring:
  717. Availability: available
  718. Function flags: count:357913 (estimated locally) body optimize_size
  719. Called by: xStreamBufferIsFull/18 (250539 (estimated locally),0.70 per call) xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (87694 (estimated locally),0.25 per call) xStreamBufferSend/10 (621434 (estimated locally),1.74 per call)
  720. Calls: xStreamBufferSpacesAvailable.part.0/62 (inlined) (107374 (estimated locally),0.30 per call)
  721. xStreamBufferSpacesAvailable.part.0/62 (xStreamBufferSpacesAvailable.part.0) @05fcd7e0
  722. Type: function definition analyzed
  723. Visibility: prevailing_def_ironly artificial
  724. Aux: @05f0a0f8
  725. References:
  726. Referring:
  727. Function xStreamBufferSpacesAvailable.part.0/62 is inline copy in xStreamBufferSpacesAvailable/8
  728. Availability: local
  729. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  730. Called by: xStreamBufferSpacesAvailable/8 (inlined) (107374 (estimated locally),0.30 per call)
  731. Calls:
  732. xStreamBufferSetTriggerLevel/7 (xStreamBufferSetTriggerLevel) @05ef8c40
  733. Type: function definition analyzed
  734. Visibility: externally_visible public
  735. Aux: @05f0a158
  736. References:
  737. Referring:
  738. Availability: available
  739. Function flags: count:357913 (estimated locally) body optimize_size
  740. Called by:
  741. Calls:
  742. xStreamBufferReset/6 (xStreamBufferReset) @05ef88c0
  743. Type: function definition analyzed
  744. Visibility: externally_visible public
  745. Aux: @05f0a298
  746. References:
  747. Referring:
  748. Availability: available
  749. Function flags: count:230763 (estimated locally) body optimize_size
  750. Called by:
  751. Calls: vPortExitCritical/32 (123389 (estimated locally),0.53 per call) prvInitialiseNewStreamBuffer/24 (6452 (estimated locally),0.03 per call) vPortEnterCritical/31 (123389 (estimated locally),0.53 per call)
  752. vStreamBufferDelete/5 (vStreamBufferDelete) @05ef8540
  753. Type: function definition analyzed
  754. Visibility: externally_visible public
  755. Aux: @05f0a1b8
  756. References:
  757. Referring:
  758. Availability: available
  759. Function flags: count:357913 (estimated locally) body optimize_size
  760. Called by:
  761. Calls: memset/29 (125270 (estimated locally),0.35 per call) vPortFree/30 (125270 (estimated locally),0.35 per call)
  762. xStreamBufferGenericCreate/4 (xStreamBufferGenericCreate) @05ef81c0
  763. Type: function definition analyzed
  764. Visibility: externally_visible public
  765. Aux: @05f0a038
  766. References:
  767. Referring:
  768. Availability: available
  769. Function flags: count:325376 (estimated locally) body optimize_size
  770. Called by:
  771. Calls: prvInitialiseNewStreamBuffer/24 (23779 (estimated locally),0.07 per call) pvPortMalloc/28 (44471 (estimated locally),0.14 per call)
  772. prvInitialiseNewStreamBuffer/24 (prvInitialiseNewStreamBuffer) @05f50540
  773. Type: function definition analyzed
  774. Visibility: prevailing_def_ironly
  775. Aux: @05f0a1f8
  776. References:
  777. Referring:
  778. Availability: local
  779. Function flags: count:130040 (estimated locally) body local optimize_size
  780. Called by: xStreamBufferReset/6 (6452 (estimated locally),0.03 per call) xStreamBufferGenericCreate/4 (23779 (estimated locally),0.07 per call)
  781. Calls: prvInitialiseNewStreamBuffer.part.0/44 (inlined) (22666 (estimated locally),0.17 per call) memset/29 (130040 (estimated locally),1.00 per call)
  782. prvInitialiseNewStreamBuffer.part.0/44 (prvInitialiseNewStreamBuffer.part.0) @05e8d8c0
  783. Type: function definition analyzed
  784. Visibility: prevailing_def_ironly artificial
  785. Aux: @05f0a018
  786. References:
  787. Referring:
  788. Function prvInitialiseNewStreamBuffer.part.0/44 is inline copy in prvInitialiseNewStreamBuffer/24
  789. Availability: local
  790. Function flags: count:22666 (estimated locally) first_run:1 body local split_part optimize_size
  791. Called by: prvInitialiseNewStreamBuffer/24 (inlined) (22666 (estimated locally),0.17 per call)
  792. Calls: memset/29 (22666 (estimated locally),0.17 per call)
  793. Function name:prvInitialiseNewStreamBuffer.part.0/44:
  794. locals read:
  795. locals written:
  796. globals read:
  797. globals written:
  798. Function name:prvInitialiseNewStreamBuffer/24:
  799. locals read:
  800. locals written:
  801. globals read:
  802. globals written:
  803. Function name:xStreamBufferGenericCreate/4:
  804. locals read:
  805. locals written:
  806. globals read: ALL
  807. globals written: ALL
  808. Function name:vStreamBufferDelete/5:
  809. locals read:
  810. locals written:
  811. globals read: ALL
  812. globals written: ALL
  813. Function name:xStreamBufferReset/6:
  814. locals read:
  815. locals written:
  816. globals read: ALL
  817. globals written: ALL
  818. Function name:xStreamBufferSetTriggerLevel/7:
  819. locals read:
  820. locals written:
  821. globals read:
  822. globals written:
  823. Function name:xStreamBufferSpacesAvailable.part.0/62:
  824. locals read:
  825. locals written:
  826. globals read:
  827. globals written:
  828. Function name:xStreamBufferSpacesAvailable/8:
  829. locals read:
  830. locals written:
  831. globals read:
  832. globals written:
  833. Function name:prvBytesInBuffer/23:
  834. locals read:
  835. locals written:
  836. globals read:
  837. globals written:
  838. Function name:xStreamBufferBytesAvailable/9:
  839. locals read:
  840. locals written:
  841. globals read:
  842. globals written:
  843. Function name:prvWriteBytesToBuffer.part.0/48:
  844. locals read:
  845. locals written:
  846. globals read:
  847. globals written:
  848. Function name:prvWriteBytesToBuffer/21:
  849. locals read:
  850. locals written:
  851. globals read:
  852. globals written:
  853. Function name:prvWriteMessageToBuffer/12:
  854. locals read:
  855. locals written:
  856. globals read:
  857. globals written:
  858. Function name:xStreamBufferSend/10:
  859. locals read:
  860. locals written:
  861. globals read: ALL
  862. globals written: ALL
  863. Function name:xStreamBufferSendFromISR/11:
  864. locals read:
  865. locals written:
  866. globals read: ALL
  867. globals written: ALL
  868. Function name:prvReadBytesFromBuffer.part.0/53:
  869. locals read:
  870. locals written:
  871. globals read:
  872. globals written:
  873. Function name:prvReadBytesFromBuffer/22:
  874. locals read:
  875. locals written:
  876. globals read:
  877. globals written:
  878. Function name:prvReadMessageFromBuffer/16:
  879. locals read:
  880. locals written:
  881. globals read:
  882. globals written:
  883. Function name:xStreamBufferReceive/13:
  884. locals read:
  885. locals written:
  886. globals read: ALL
  887. globals written: ALL
  888. Function name:prvReadBytesFromBuffer/86:
  889. locals read:
  890. locals written:
  891. globals read:
  892. globals written:
  893. Function name:xStreamBufferNextMessageLengthBytes/14:
  894. locals read:
  895. locals written:
  896. globals read:
  897. globals written:
  898. Function name:xStreamBufferReceiveFromISR/15:
  899. locals read:
  900. locals written:
  901. globals read: ALL
  902. globals written: ALL
  903. Function name:xStreamBufferIsEmpty/17:
  904. locals read:
  905. locals written:
  906. globals read:
  907. globals written:
  908. Function name:xStreamBufferIsFull/18:
  909. locals read:
  910. locals written:
  911. globals read:
  912. globals written:
  913. Function name:xStreamBufferSendCompletedFromISR/19:
  914. locals read:
  915. locals written:
  916. globals read: ALL
  917. globals written: ALL
  918. Function name:xStreamBufferReceiveCompletedFromISR/20:
  919. locals read:
  920. locals written:
  921. globals read: ALL
  922. globals written: ALL
  923. Function name:uxStreamBufferGetStreamBufferNumber/25:
  924. locals read:
  925. locals written:
  926. globals read:
  927. globals written:
  928. Function name:vStreamBufferSetStreamBufferNumber/26:
  929. locals read:
  930. locals written:
  931. globals read:
  932. globals written:
  933. Function name:ucStreamBufferGetStreamBufferType/27:
  934. locals read:
  935. locals written:
  936. globals read:
  937. globals written:
  938. xStreamBufferSpacesAvailable.part.0 ()
  939. {
  940. const struct StreamBuffer_t * const pxStreamBuffer;
  941. size_t xSpace;
  942. size_t xOriginalTail;
  943. uint32_t ulNewBASEPRI;
  944. struct StreamBufferDef_t * xStreamBuffer;
  945. <bb 5> [local count: 107374]:
  946. # DEBUG D#2 s=> xStreamBuffer
  947. # DEBUG xStreamBuffer => D#2
  948. <bb 2> [local count: 107374]:
  949. # DEBUG BEGIN_STMT
  950. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  951. # DEBUG BEGIN_STMT
  952. # DEBUG BEGIN_STMT
  953. __asm__ __volatile__(" mov %0, %1
  954. msr basepri, %0
  955. isb
  956. dsb
  957. " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  958. # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
  959. <bb 3> [local count: 1073741824]:
  960. # DEBUG ulNewBASEPRI => NULL
  961. # DEBUG BEGIN_STMT
  962. # DEBUG BEGIN_STMT
  963. # DEBUG BEGIN_STMT
  964. <bb 4> [local count: 1073741824]:
  965. goto <bb 3>; [100.00%]
  966. }
  967. prvReadBytesFromBuffer.part.0 (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail)
  968. {
  969. size_t xFirstLength;
  970. uint32_t ulNewBASEPRI;
  971. uint32_t ulNewBASEPRI;
  972. uint32_t ulNewBASEPRI;
  973. unsigned int _2;
  974. unsigned int _4;
  975. unsigned int _8;
  976. uint8_t * _10;
  977. uint8_t * _11;
  978. uint8_t * _13;
  979. uint8_t * _14;
  980. unsigned int _15;
  981. unsigned int _17;
  982. <bb 15> [local count: 214748]:
  983. <bb 2> [local count: 214748]:
  984. # DEBUG BEGIN_STMT
  985. # DEBUG BEGIN_STMT
  986. _2 = pxStreamBuffer_1(D)->xLength;
  987. _4 = _2 - xTail_3(D);
  988. xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>;
  989. # DEBUG xFirstLength => xFirstLength_6
  990. # DEBUG BEGIN_STMT
  991. if (xCount_5(D) < xFirstLength_6)
  992. goto <bb 3>; [50.00%]
  993. else
  994. goto <bb 6>; [50.00%]
  995. <bb 3> [local count: 107374]:
  996. # DEBUG BEGIN_STMT
  997. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  998. # DEBUG BEGIN_STMT
  999. # DEBUG BEGIN_STMT
  1000. __asm__ __volatile__(" mov %0, %1
  1001. msr basepri, %0
  1002. isb
  1003. dsb
  1004. " : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  1005. # DEBUG ulNewBASEPRI => ulNewBASEPRI_7
  1006. <bb 4> [local count: 1073741824]:
  1007. # DEBUG ulNewBASEPRI => NULL
  1008. # DEBUG BEGIN_STMT
  1009. # DEBUG BEGIN_STMT
  1010. # DEBUG BEGIN_STMT
  1011. <bb 5> [local count: 1073741824]:
  1012. goto <bb 4>; [100.00%]
  1013. <bb 6> [local count: 107374]:
  1014. # DEBUG BEGIN_STMT
  1015. # DEBUG BEGIN_STMT
  1016. _8 = xTail_3(D) + xFirstLength_6;
  1017. if (_2 < _8)
  1018. goto <bb 7>; [67.00%]
  1019. else
  1020. goto <bb 10>; [33.00%]
  1021. <bb 7> [local count: 71941]:
  1022. # DEBUG BEGIN_STMT
  1023. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1024. # DEBUG BEGIN_STMT
  1025. # DEBUG BEGIN_STMT
  1026. __asm__ __volatile__(" mov %0, %1
  1027. msr basepri, %0
  1028. isb
  1029. dsb
  1030. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  1031. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  1032. <bb 8> [local count: 719407023]:
  1033. # DEBUG ulNewBASEPRI => NULL
  1034. # DEBUG BEGIN_STMT
  1035. # DEBUG BEGIN_STMT
  1036. # DEBUG BEGIN_STMT
  1037. <bb 9> [local count: 719407023]:
  1038. goto <bb 8>; [100.00%]
  1039. <bb 10> [local count: 35433]:
  1040. # DEBUG BEGIN_STMT
  1041. # DEBUG BEGIN_STMT
  1042. _10 = pxStreamBuffer_1(D)->pucBuffer;
  1043. _11 = _10 + xTail_3(D);
  1044. memcpy (pucData_12(D), _11, xFirstLength_6);
  1045. # DEBUG BEGIN_STMT
  1046. if (xCount_5(D) > xFirstLength_6)
  1047. goto <bb 11>; [33.00%]
  1048. else
  1049. goto <bb 12>; [67.00%]
  1050. <bb 11> [local count: 11693]:
  1051. # DEBUG BEGIN_STMT
  1052. _13 = pucData_12(D) + xFirstLength_6;
  1053. _14 = pxStreamBuffer_1(D)->pucBuffer;
  1054. _15 = xCount_5(D) - xFirstLength_6;
  1055. memcpy (_13, _14, _15);
  1056. <bb 12> [local count: 35433]:
  1057. # DEBUG BEGIN_STMT
  1058. # DEBUG BEGIN_STMT
  1059. xTail_16 = xTail_3(D) + xCount_5(D);
  1060. # DEBUG xTail => xTail_16
  1061. # DEBUG BEGIN_STMT
  1062. _17 = pxStreamBuffer_1(D)->xLength;
  1063. if (xTail_16 >= _17)
  1064. goto <bb 13>; [50.00%]
  1065. else
  1066. goto <bb 14>; [50.00%]
  1067. <bb 13> [local count: 17717]:
  1068. # DEBUG BEGIN_STMT
  1069. xTail_18 = xTail_16 - _17;
  1070. # DEBUG xTail => xTail_18
  1071. <bb 14> [local count: 35433]:
  1072. # xTail_19 = PHI <xTail_16(12), xTail_18(13)>
  1073. # DEBUG xTail => xTail_19
  1074. # DEBUG BEGIN_STMT
  1075. return xTail_19;
  1076. }
  1077. prvWriteBytesToBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead)
  1078. {
  1079. size_t xFirstLength;
  1080. uint32_t ulNewBASEPRI;
  1081. uint32_t ulNewBASEPRI;
  1082. uint32_t ulNewBASEPRI;
  1083. unsigned int _2;
  1084. unsigned int _4;
  1085. unsigned int _7;
  1086. uint8_t * _9;
  1087. uint8_t * _10;
  1088. unsigned int _12;
  1089. unsigned int _13;
  1090. uint8_t * _15;
  1091. const uint8_t * _16;
  1092. unsigned int _18;
  1093. <bb 15> [local count: 160260]:
  1094. <bb 2> [local count: 160260]:
  1095. # DEBUG BEGIN_STMT
  1096. # DEBUG BEGIN_STMT
  1097. _2 = pxStreamBuffer_1(D)->xLength;
  1098. _4 = _2 - xHead_3(D);
  1099. xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>;
  1100. # DEBUG xFirstLength => xFirstLength_6
  1101. # DEBUG BEGIN_STMT
  1102. _7 = xHead_3(D) + xFirstLength_6;
  1103. if (_2 < _7)
  1104. goto <bb 3>; [67.00%]
  1105. else
  1106. goto <bb 6>; [33.00%]
  1107. <bb 3> [local count: 107374]:
  1108. # DEBUG BEGIN_STMT
  1109. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1110. # DEBUG BEGIN_STMT
  1111. # DEBUG BEGIN_STMT
  1112. __asm__ __volatile__(" mov %0, %1
  1113. msr basepri, %0
  1114. isb
  1115. dsb
  1116. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1117. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  1118. <bb 4> [local count: 1073741824]:
  1119. # DEBUG ulNewBASEPRI => NULL
  1120. # DEBUG BEGIN_STMT
  1121. # DEBUG BEGIN_STMT
  1122. # DEBUG BEGIN_STMT
  1123. <bb 5> [local count: 1073741824]:
  1124. goto <bb 4>; [100.00%]
  1125. <bb 6> [local count: 52886]:
  1126. # DEBUG BEGIN_STMT
  1127. # DEBUG BEGIN_STMT
  1128. _9 = pxStreamBuffer_1(D)->pucBuffer;
  1129. _10 = _9 + xHead_3(D);
  1130. memcpy (_10, pucData_11(D), xFirstLength_6);
  1131. # DEBUG BEGIN_STMT
  1132. if (xCount_5(D) > xFirstLength_6)
  1133. goto <bb 7>; [50.00%]
  1134. else
  1135. goto <bb 12>; [50.00%]
  1136. <bb 7> [local count: 26443]:
  1137. # DEBUG BEGIN_STMT
  1138. _12 = xCount_5(D) - xFirstLength_6;
  1139. _13 = pxStreamBuffer_1(D)->xLength;
  1140. if (_12 > _13)
  1141. goto <bb 8>; [67.00%]
  1142. else
  1143. goto <bb 11>; [33.00%]
  1144. <bb 8> [local count: 17717]:
  1145. # DEBUG BEGIN_STMT
  1146. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1147. # DEBUG BEGIN_STMT
  1148. # DEBUG BEGIN_STMT
  1149. __asm__ __volatile__(" mov %0, %1
  1150. msr basepri, %0
  1151. isb
  1152. dsb
  1153. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  1154. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  1155. <bb 9> [local count: 177167401]:
  1156. # DEBUG ulNewBASEPRI => NULL
  1157. # DEBUG BEGIN_STMT
  1158. # DEBUG BEGIN_STMT
  1159. # DEBUG BEGIN_STMT
  1160. <bb 10> [local count: 177167401]:
  1161. goto <bb 9>; [100.00%]
  1162. <bb 11> [local count: 8726]:
  1163. # DEBUG BEGIN_STMT
  1164. # DEBUG BEGIN_STMT
  1165. _15 = pxStreamBuffer_1(D)->pucBuffer;
  1166. _16 = pucData_11(D) + xFirstLength_6;
  1167. memcpy (_15, _16, _12);
  1168. <bb 12> [local count: 35169]:
  1169. # DEBUG BEGIN_STMT
  1170. # DEBUG BEGIN_STMT
  1171. xHead_17 = xHead_3(D) + xCount_5(D);
  1172. # DEBUG xHead => xHead_17
  1173. # DEBUG BEGIN_STMT
  1174. _18 = pxStreamBuffer_1(D)->xLength;
  1175. if (xHead_17 >= _18)
  1176. goto <bb 13>; [50.00%]
  1177. else
  1178. goto <bb 14>; [50.00%]
  1179. <bb 13> [local count: 17584]:
  1180. # DEBUG BEGIN_STMT
  1181. xHead_19 = xHead_17 - _18;
  1182. # DEBUG xHead => xHead_19
  1183. <bb 14> [local count: 35169]:
  1184. # xHead_20 = PHI <xHead_17(12), xHead_19(13)>
  1185. # DEBUG xHead => xHead_20
  1186. # DEBUG BEGIN_STMT
  1187. # DEBUG BEGIN_STMT
  1188. return xHead_20;
  1189. }
  1190. prvInitialiseNewStreamBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags)
  1191. {
  1192. const BaseType_t xWriteValue;
  1193. uint32_t ulNewBASEPRI;
  1194. <bb 3> [local count: 1073741824]:
  1195. <bb 2> [local count: 1073741824]:
  1196. # DEBUG BEGIN_STMT
  1197. # DEBUG BEGIN_STMT
  1198. memset (pxStreamBuffer_1(D), 0, 36);
  1199. # DEBUG BEGIN_STMT
  1200. pxStreamBuffer_1(D)->pucBuffer = pucBuffer_2(D);
  1201. # DEBUG BEGIN_STMT
  1202. pxStreamBuffer_1(D)->xLength = xBufferSizeBytes_3(D);
  1203. # DEBUG BEGIN_STMT
  1204. pxStreamBuffer_1(D)->xTriggerLevelBytes = xTriggerLevelBytes_4(D);
  1205. # DEBUG BEGIN_STMT
  1206. pxStreamBuffer_1(D)->ucFlags = ucFlags_5(D);
  1207. return;
  1208. }
  1209. ucStreamBufferGetStreamBufferType (struct StreamBufferDef_t * xStreamBuffer)
  1210. {
  1211. unsigned char _1;
  1212. uint8_t _4;
  1213. <bb 2> [local count: 1073741824]:
  1214. # DEBUG BEGIN_STMT
  1215. _1 = xStreamBuffer_3(D)->ucFlags;
  1216. _4 = _1 & 1;
  1217. return _4;
  1218. }
  1219. vStreamBufferSetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer, UBaseType_t uxStreamBufferNumber)
  1220. {
  1221. <bb 2> [local count: 1073741824]:
  1222. # DEBUG BEGIN_STMT
  1223. xStreamBuffer_2(D)->uxStreamBufferNumber = uxStreamBufferNumber_3(D);
  1224. return;
  1225. }
  1226. uxStreamBufferGetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer)
  1227. {
  1228. UBaseType_t _3;
  1229. <bb 2> [local count: 1073741824]:
  1230. # DEBUG BEGIN_STMT
  1231. _3 = xStreamBuffer_2(D)->uxStreamBufferNumber;
  1232. return _3;
  1233. }
  1234. prvInitialiseNewStreamBuffer (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags)
  1235. {
  1236. uint32_t ulNewBASEPRI;
  1237. void * _1;
  1238. <bb 2> [local count: 130040]:
  1239. # DEBUG BEGIN_STMT
  1240. # DEBUG xWriteValue => 85
  1241. # DEBUG BEGIN_STMT
  1242. _1 = memset (pucBuffer_4(D), 85, xBufferSizeBytes_5(D));
  1243. if (_1 != pucBuffer_4(D))
  1244. goto <bb 3>; [82.57%]
  1245. else
  1246. goto <bb 5>; [17.43%]
  1247. <bb 3> [local count: 107374]:
  1248. # DEBUG BEGIN_STMT
  1249. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1250. # DEBUG BEGIN_STMT
  1251. # DEBUG BEGIN_STMT
  1252. __asm__ __volatile__(" mov %0, %1
  1253. msr basepri, %0
  1254. isb
  1255. dsb
  1256. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  1257. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  1258. <bb 4> [local count: 1073741824]:
  1259. # DEBUG ulNewBASEPRI => NULL
  1260. # DEBUG BEGIN_STMT
  1261. # DEBUG BEGIN_STMT
  1262. # DEBUG BEGIN_STMT
  1263. <bb 6> [local count: 1073741824]:
  1264. goto <bb 4>; [100.00%]
  1265. <bb 5> [local count: 22666]:
  1266. prvInitialiseNewStreamBuffer.part.0 (pxStreamBuffer_7(D), pucBuffer_4(D), xBufferSizeBytes_5(D), xTriggerLevelBytes_8(D), ucFlags_9(D));
  1267. return;
  1268. }
  1269. prvBytesInBuffer (const struct StreamBuffer_t * const pxStreamBuffer)
  1270. {
  1271. size_t xCount;
  1272. unsigned int _1;
  1273. unsigned int _2;
  1274. unsigned int _7;
  1275. <bb 2> [local count: 1073741824]:
  1276. # DEBUG BEGIN_STMT
  1277. # DEBUG BEGIN_STMT
  1278. _1 = pxStreamBuffer_5(D)->xLength;
  1279. _2 ={v} pxStreamBuffer_5(D)->xHead;
  1280. xCount_6 = _1 + _2;
  1281. # DEBUG xCount => xCount_6
  1282. # DEBUG BEGIN_STMT
  1283. _7 ={v} pxStreamBuffer_5(D)->xTail;
  1284. xCount_8 = xCount_6 - _7;
  1285. # DEBUG xCount => xCount_8
  1286. # DEBUG BEGIN_STMT
  1287. if (_1 <= xCount_8)
  1288. goto <bb 3>; [50.00%]
  1289. else
  1290. goto <bb 4>; [50.00%]
  1291. <bb 3> [local count: 536870913]:
  1292. # DEBUG BEGIN_STMT
  1293. xCount_9 = xCount_8 - _1;
  1294. # DEBUG xCount => xCount_9
  1295. <bb 4> [local count: 1073741824]:
  1296. # xCount_3 = PHI <xCount_8(2), xCount_9(3)>
  1297. # DEBUG xCount => xCount_3
  1298. # DEBUG BEGIN_STMT
  1299. # DEBUG BEGIN_STMT
  1300. return xCount_3;
  1301. }
  1302. prvReadBytesFromBuffer (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail)
  1303. {
  1304. uint32_t ulNewBASEPRI;
  1305. <bb 2> [local count: 214748]:
  1306. # DEBUG BEGIN_STMT
  1307. # DEBUG BEGIN_STMT
  1308. if (xCount_3(D) == 0)
  1309. goto <bb 3>; [50.00%]
  1310. else
  1311. goto <bb 5>; [50.00%]
  1312. <bb 3> [local count: 107374]:
  1313. # DEBUG BEGIN_STMT
  1314. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1315. # DEBUG BEGIN_STMT
  1316. # DEBUG BEGIN_STMT
  1317. __asm__ __volatile__(" mov %0, %1
  1318. msr basepri, %0
  1319. isb
  1320. dsb
  1321. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1322. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  1323. <bb 4> [local count: 1073741824]:
  1324. # DEBUG ulNewBASEPRI => NULL
  1325. # DEBUG BEGIN_STMT
  1326. # DEBUG BEGIN_STMT
  1327. # DEBUG BEGIN_STMT
  1328. <bb 6> [local count: 1073741824]:
  1329. goto <bb 4>; [100.00%]
  1330. <bb 5> [local count: 107374]:
  1331. xTail_1 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xTail_6(D));
  1332. # DEBUG xTail => xTail_1
  1333. # DEBUG BEGIN_STMT
  1334. return xTail_1;
  1335. }
  1336. prvWriteBytesToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead)
  1337. {
  1338. uint32_t ulNewBASEPRI;
  1339. <bb 2> [local count: 214748]:
  1340. # DEBUG BEGIN_STMT
  1341. # DEBUG BEGIN_STMT
  1342. if (xCount_3(D) == 0)
  1343. goto <bb 3>; [50.00%]
  1344. else
  1345. goto <bb 5>; [50.00%]
  1346. <bb 3> [local count: 107374]:
  1347. # DEBUG BEGIN_STMT
  1348. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1349. # DEBUG BEGIN_STMT
  1350. # DEBUG BEGIN_STMT
  1351. __asm__ __volatile__(" mov %0, %1
  1352. msr basepri, %0
  1353. isb
  1354. dsb
  1355. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1356. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  1357. <bb 4> [local count: 1073741824]:
  1358. # DEBUG ulNewBASEPRI => NULL
  1359. # DEBUG BEGIN_STMT
  1360. # DEBUG BEGIN_STMT
  1361. # DEBUG BEGIN_STMT
  1362. <bb 6> [local count: 1073741824]:
  1363. goto <bb 4>; [100.00%]
  1364. <bb 5> [local count: 107374]:
  1365. xHead_1 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xHead_6(D));
  1366. # DEBUG xHead => xHead_1
  1367. # DEBUG BEGIN_STMT
  1368. # DEBUG BEGIN_STMT
  1369. return xHead_1;
  1370. }
  1371. xStreamBufferReceiveCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken)
  1372. {
  1373. uint32_t ulOriginalBASEPRI;
  1374. uint32_t ulNewBASEPRI;
  1375. uint32_t ulNewBASEPRI;
  1376. BaseType_t xReturn;
  1377. struct tskTaskControlBlock * _1;
  1378. struct tskTaskControlBlock * _2;
  1379. <bb 2> [local count: 357913]:
  1380. # DEBUG BEGIN_STMT
  1381. # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  1382. # DEBUG BEGIN_STMT
  1383. # DEBUG BEGIN_STMT
  1384. # DEBUG BEGIN_STMT
  1385. if (xStreamBuffer_5(D) == 0B)
  1386. goto <bb 3>; [30.00%]
  1387. else
  1388. goto <bb 5>; [70.00%]
  1389. <bb 3> [local count: 107374]:
  1390. # DEBUG BEGIN_STMT
  1391. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1392. # DEBUG BEGIN_STMT
  1393. # DEBUG BEGIN_STMT
  1394. __asm__ __volatile__(" mov %0, %1
  1395. msr basepri, %0
  1396. isb
  1397. dsb
  1398. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  1399. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  1400. <bb 4> [local count: 1073741824]:
  1401. # DEBUG ulNewBASEPRI => NULL
  1402. # DEBUG BEGIN_STMT
  1403. # DEBUG BEGIN_STMT
  1404. # DEBUG BEGIN_STMT
  1405. <bb 8> [local count: 1073741824]:
  1406. goto <bb 4>; [100.00%]
  1407. <bb 5> [local count: 250539]:
  1408. # DEBUG BEGIN_STMT
  1409. # DEBUG BEGIN_STMT
  1410. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  1411. # DEBUG BEGIN_STMT
  1412. # DEBUG BEGIN_STMT
  1413. __asm__ __volatile__(" mrs %0, basepri
  1414. mov %1, %2
  1415. msr basepri, %1
  1416. isb
  1417. dsb
  1418. " : "=r" ulOriginalBASEPRI_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  1419. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  1420. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11
  1421. # DEBUG BEGIN_STMT
  1422. # DEBUG ulNewBASEPRI => NULL
  1423. # DEBUG ulOriginalBASEPRI => NULL
  1424. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11
  1425. # DEBUG BEGIN_STMT
  1426. _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend;
  1427. if (_1 != 0B)
  1428. goto <bb 6>; [53.47%]
  1429. else
  1430. goto <bb 7>; [46.53%]
  1431. <bb 6> [local count: 133963]:
  1432. # DEBUG BEGIN_STMT
  1433. _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend;
  1434. xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D));
  1435. # DEBUG BEGIN_STMT
  1436. MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend ={v} 0B;
  1437. # DEBUG BEGIN_STMT
  1438. # DEBUG xReturn => 1
  1439. <bb 7> [local count: 250539]:
  1440. # xReturn_3 = PHI <1(6), 0(5)>
  1441. # DEBUG xReturn => xReturn_3
  1442. # DEBUG BEGIN_STMT
  1443. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11
  1444. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  1445. # DEBUG BEGIN_STMT
  1446. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_11 : "memory");
  1447. # DEBUG ulNewMaskValue => NULL
  1448. # DEBUG BEGIN_STMT
  1449. return xReturn_3;
  1450. }
  1451. xStreamBufferSendCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken)
  1452. {
  1453. uint32_t ulOriginalBASEPRI;
  1454. uint32_t ulNewBASEPRI;
  1455. uint32_t ulNewBASEPRI;
  1456. BaseType_t xReturn;
  1457. struct tskTaskControlBlock * _1;
  1458. struct tskTaskControlBlock * _2;
  1459. <bb 2> [local count: 357913]:
  1460. # DEBUG BEGIN_STMT
  1461. # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  1462. # DEBUG BEGIN_STMT
  1463. # DEBUG BEGIN_STMT
  1464. # DEBUG BEGIN_STMT
  1465. if (xStreamBuffer_5(D) == 0B)
  1466. goto <bb 3>; [30.00%]
  1467. else
  1468. goto <bb 5>; [70.00%]
  1469. <bb 3> [local count: 107374]:
  1470. # DEBUG BEGIN_STMT
  1471. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1472. # DEBUG BEGIN_STMT
  1473. # DEBUG BEGIN_STMT
  1474. __asm__ __volatile__(" mov %0, %1
  1475. msr basepri, %0
  1476. isb
  1477. dsb
  1478. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  1479. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  1480. <bb 4> [local count: 1073741824]:
  1481. # DEBUG ulNewBASEPRI => NULL
  1482. # DEBUG BEGIN_STMT
  1483. # DEBUG BEGIN_STMT
  1484. # DEBUG BEGIN_STMT
  1485. <bb 8> [local count: 1073741824]:
  1486. goto <bb 4>; [100.00%]
  1487. <bb 5> [local count: 250539]:
  1488. # DEBUG BEGIN_STMT
  1489. # DEBUG BEGIN_STMT
  1490. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  1491. # DEBUG BEGIN_STMT
  1492. # DEBUG BEGIN_STMT
  1493. __asm__ __volatile__(" mrs %0, basepri
  1494. mov %1, %2
  1495. msr basepri, %1
  1496. isb
  1497. dsb
  1498. " : "=r" ulOriginalBASEPRI_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  1499. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  1500. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11
  1501. # DEBUG BEGIN_STMT
  1502. # DEBUG ulNewBASEPRI => NULL
  1503. # DEBUG ulOriginalBASEPRI => NULL
  1504. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11
  1505. # DEBUG BEGIN_STMT
  1506. _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive;
  1507. if (_1 != 0B)
  1508. goto <bb 6>; [53.47%]
  1509. else
  1510. goto <bb 7>; [46.53%]
  1511. <bb 6> [local count: 133963]:
  1512. # DEBUG BEGIN_STMT
  1513. _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive;
  1514. xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D));
  1515. # DEBUG BEGIN_STMT
  1516. MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive ={v} 0B;
  1517. # DEBUG BEGIN_STMT
  1518. # DEBUG xReturn => 1
  1519. <bb 7> [local count: 250539]:
  1520. # xReturn_3 = PHI <1(6), 0(5)>
  1521. # DEBUG xReturn => xReturn_3
  1522. # DEBUG BEGIN_STMT
  1523. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11
  1524. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  1525. # DEBUG BEGIN_STMT
  1526. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_11 : "memory");
  1527. # DEBUG ulNewMaskValue => NULL
  1528. # DEBUG BEGIN_STMT
  1529. return xReturn_3;
  1530. }
  1531. xStreamBufferIsFull (struct StreamBufferDef_t * xStreamBuffer)
  1532. {
  1533. uint32_t ulNewBASEPRI;
  1534. size_t xBytesToStoreMessageLength;
  1535. BaseType_t xReturn;
  1536. unsigned char _1;
  1537. unsigned int _2;
  1538. unsigned char _6;
  1539. <bb 2> [local count: 357913]:
  1540. # DEBUG BEGIN_STMT
  1541. # DEBUG BEGIN_STMT
  1542. # DEBUG BEGIN_STMT
  1543. # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  1544. # DEBUG BEGIN_STMT
  1545. if (xStreamBuffer_5(D) == 0B)
  1546. goto <bb 3>; [30.00%]
  1547. else
  1548. goto <bb 5>; [70.00%]
  1549. <bb 3> [local count: 107374]:
  1550. # DEBUG BEGIN_STMT
  1551. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1552. # DEBUG BEGIN_STMT
  1553. # DEBUG BEGIN_STMT
  1554. __asm__ __volatile__(" mov %0, %1
  1555. msr basepri, %0
  1556. isb
  1557. dsb
  1558. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  1559. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  1560. <bb 4> [local count: 1073741824]:
  1561. # DEBUG ulNewBASEPRI => NULL
  1562. # DEBUG BEGIN_STMT
  1563. # DEBUG BEGIN_STMT
  1564. # DEBUG BEGIN_STMT
  1565. <bb 10> [local count: 1073741824]:
  1566. goto <bb 4>; [100.00%]
  1567. <bb 5> [local count: 250539]:
  1568. # DEBUG BEGIN_STMT
  1569. # DEBUG BEGIN_STMT
  1570. _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags;
  1571. _6 = _1 & 1;
  1572. if (_6 != 0)
  1573. goto <bb 7>; [50.00%]
  1574. else
  1575. goto <bb 6>; [50.00%]
  1576. <bb 6> [local count: 125270]:
  1577. # DEBUG BEGIN_STMT
  1578. # DEBUG xBytesToStoreMessageLength => 0
  1579. <bb 7> [local count: 250539]:
  1580. # xBytesToStoreMessageLength_4 = PHI <4(5), 0(6)>
  1581. # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_4
  1582. # DEBUG BEGIN_STMT
  1583. _2 = xStreamBufferSpacesAvailable (xStreamBuffer_5(D));
  1584. if (_2 <= xBytesToStoreMessageLength_4)
  1585. goto <bb 9>; [50.00%]
  1586. else
  1587. goto <bb 8>; [50.00%]
  1588. <bb 8> [local count: 125270]:
  1589. # DEBUG BEGIN_STMT
  1590. # DEBUG xReturn => 0
  1591. <bb 9> [local count: 250539]:
  1592. # xReturn_3 = PHI <1(7), 0(8)>
  1593. # DEBUG xReturn => xReturn_3
  1594. # DEBUG BEGIN_STMT
  1595. return xReturn_3;
  1596. }
  1597. xStreamBufferIsEmpty (struct StreamBufferDef_t * xStreamBuffer)
  1598. {
  1599. uint32_t ulNewBASEPRI;
  1600. size_t xTail;
  1601. BaseType_t xReturn;
  1602. unsigned int _1;
  1603. <bb 2> [local count: 357913]:
  1604. # DEBUG BEGIN_STMT
  1605. # DEBUG pxStreamBuffer => xStreamBuffer_3(D)
  1606. # DEBUG BEGIN_STMT
  1607. # DEBUG BEGIN_STMT
  1608. # DEBUG BEGIN_STMT
  1609. if (xStreamBuffer_3(D) == 0B)
  1610. goto <bb 3>; [30.00%]
  1611. else
  1612. goto <bb 5>; [70.00%]
  1613. <bb 3> [local count: 107374]:
  1614. # DEBUG BEGIN_STMT
  1615. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1616. # DEBUG BEGIN_STMT
  1617. # DEBUG BEGIN_STMT
  1618. __asm__ __volatile__(" mov %0, %1
  1619. msr basepri, %0
  1620. isb
  1621. dsb
  1622. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  1623. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  1624. <bb 4> [local count: 1073741824]:
  1625. # DEBUG ulNewBASEPRI => NULL
  1626. # DEBUG BEGIN_STMT
  1627. # DEBUG BEGIN_STMT
  1628. # DEBUG BEGIN_STMT
  1629. <bb 8> [local count: 1073741824]:
  1630. goto <bb 4>; [100.00%]
  1631. <bb 5> [local count: 250539]:
  1632. # DEBUG BEGIN_STMT
  1633. # DEBUG BEGIN_STMT
  1634. xTail_5 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xTail;
  1635. # DEBUG xTail => xTail_5
  1636. # DEBUG BEGIN_STMT
  1637. _1 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xHead;
  1638. if (_1 == xTail_5)
  1639. goto <bb 7>; [34.00%]
  1640. else
  1641. goto <bb 6>; [66.00%]
  1642. <bb 6> [local count: 165356]:
  1643. # DEBUG BEGIN_STMT
  1644. # DEBUG xReturn => 0
  1645. <bb 7> [local count: 250539]:
  1646. # xReturn_2 = PHI <1(5), 0(6)>
  1647. # DEBUG xReturn => xReturn_2
  1648. # DEBUG BEGIN_STMT
  1649. return xReturn_2;
  1650. }
  1651. prvReadMessageFromBuffer (struct StreamBuffer_t * pxStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, size_t xBytesAvailable)
  1652. {
  1653. size_t xTail;
  1654. size_t xNextTail;
  1655. size_t xTempNextMessageLength;
  1656. size_t xNextMessageLength;
  1657. size_t xCount;
  1658. unsigned char _1;
  1659. unsigned int _2;
  1660. unsigned char _12;
  1661. <bb 2> [local count: 1073741824]:
  1662. # DEBUG BEGIN_STMT
  1663. # DEBUG BEGIN_STMT
  1664. # DEBUG BEGIN_STMT
  1665. xNextTail_10 ={v} pxStreamBuffer_9(D)->xTail;
  1666. # DEBUG xNextTail => xNextTail_10
  1667. # DEBUG BEGIN_STMT
  1668. _1 = pxStreamBuffer_9(D)->ucFlags;
  1669. _12 = _1 & 1;
  1670. if (_12 != 0)
  1671. goto <bb 3>; [33.00%]
  1672. else
  1673. goto <bb 5>; [67.00%]
  1674. <bb 3> [local count: 354334802]:
  1675. # DEBUG BEGIN_STMT
  1676. # DEBUG pxStreamBuffer => pxStreamBuffer_9(D)
  1677. # DEBUG pucData => &xTempNextMessageLength
  1678. # DEBUG xCount => 4
  1679. # DEBUG xTail => xNextTail_10
  1680. # DEBUG INLINE_ENTRY prvReadBytesFromBuffer
  1681. # DEBUG BEGIN_STMT
  1682. # DEBUG BEGIN_STMT
  1683. xTail_21 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_9(D), &xTempNextMessageLength, 4, xNextTail_10);
  1684. # DEBUG xTail => xTail_21
  1685. # DEBUG BEGIN_STMT
  1686. # DEBUG pxStreamBuffer => NULL
  1687. # DEBUG pucData => NULL
  1688. # DEBUG xCount => NULL
  1689. # DEBUG xTail => NULL
  1690. # DEBUG ulNewBASEPRI => NULL
  1691. # DEBUG xNextTail => xTail_21
  1692. # DEBUG BEGIN_STMT
  1693. xNextMessageLength_14 = xTempNextMessageLength;
  1694. # DEBUG xNextMessageLength => xNextMessageLength_14
  1695. # DEBUG BEGIN_STMT
  1696. xBytesAvailable_15 = xBytesAvailable_13(D) + 4294967292;
  1697. # DEBUG xBytesAvailable => xBytesAvailable_15
  1698. # DEBUG BEGIN_STMT
  1699. if (xBufferLengthBytes_11(D) < xNextMessageLength_14)
  1700. goto <bb 4>; [50.00%]
  1701. else
  1702. goto <bb 5>; [50.00%]
  1703. <bb 4> [local count: 177167401]:
  1704. # DEBUG BEGIN_STMT
  1705. # DEBUG xNextMessageLength => 0
  1706. <bb 5> [local count: 1073741824]:
  1707. # xBytesAvailable_3 = PHI <xBytesAvailable_15(4), xBytesAvailable_13(D)(2), xBytesAvailable_15(3)>
  1708. # xNextMessageLength_4 = PHI <0(4), xBufferLengthBytes_11(D)(2), xNextMessageLength_14(3)>
  1709. # xNextTail_5 = PHI <xTail_21(4), xNextTail_10(2), xTail_21(3)>
  1710. # DEBUG xNextTail => xNextTail_5
  1711. # DEBUG xNextMessageLength => xNextMessageLength_4
  1712. # DEBUG xBytesAvailable => xBytesAvailable_3
  1713. # DEBUG BEGIN_STMT
  1714. xCount_16 = MIN_EXPR <xBytesAvailable_3, xNextMessageLength_4>;
  1715. # DEBUG xCount => xCount_16
  1716. # DEBUG BEGIN_STMT
  1717. if (xCount_16 != 0)
  1718. goto <bb 6>; [33.00%]
  1719. else
  1720. goto <bb 7>; [67.00%]
  1721. <bb 6> [local count: 354334802]:
  1722. # DEBUG BEGIN_STMT
  1723. _2 = prvReadBytesFromBuffer (pxStreamBuffer_9(D), pvRxData_17(D), xCount_16, xNextTail_5);
  1724. pxStreamBuffer_9(D)->xTail ={v} _2;
  1725. <bb 7> [local count: 1073741824]:
  1726. # DEBUG BEGIN_STMT
  1727. xTempNextMessageLength ={v} {CLOBBER};
  1728. return xCount_16;
  1729. }
  1730. xStreamBufferReceiveFromISR (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken)
  1731. {
  1732. uint32_t ulOriginalBASEPRI;
  1733. uint32_t ulNewBASEPRI;
  1734. uint32_t ulNewBASEPRI;
  1735. uint32_t ulNewBASEPRI;
  1736. size_t xBytesToStoreMessageLength;
  1737. size_t xBytesAvailable;
  1738. size_t xReceivedLength;
  1739. unsigned char _1;
  1740. struct tskTaskControlBlock * _2;
  1741. struct tskTaskControlBlock * _3;
  1742. unsigned char _9;
  1743. <bb 2> [local count: 357913]:
  1744. # DEBUG BEGIN_STMT
  1745. # DEBUG pxStreamBuffer => xStreamBuffer_8(D)
  1746. # DEBUG BEGIN_STMT
  1747. # DEBUG xReceivedLength => 0
  1748. # DEBUG BEGIN_STMT
  1749. if (pvRxData_10(D) == 0B)
  1750. goto <bb 3>; [30.00%]
  1751. else
  1752. goto <bb 5>; [70.00%]
  1753. <bb 3> [local count: 107374]:
  1754. # DEBUG BEGIN_STMT
  1755. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1756. # DEBUG BEGIN_STMT
  1757. # DEBUG BEGIN_STMT
  1758. __asm__ __volatile__(" mov %0, %1
  1759. msr basepri, %0
  1760. isb
  1761. dsb
  1762. " : "=r" ulNewBASEPRI_20 : "i" 16 : "memory");
  1763. # DEBUG ulNewBASEPRI => ulNewBASEPRI_20
  1764. <bb 4> [local count: 1073741824]:
  1765. # DEBUG ulNewBASEPRI => NULL
  1766. # DEBUG BEGIN_STMT
  1767. # DEBUG BEGIN_STMT
  1768. # DEBUG BEGIN_STMT
  1769. <bb 16> [local count: 1073741824]:
  1770. goto <bb 4>; [100.00%]
  1771. <bb 5> [local count: 250539]:
  1772. # DEBUG BEGIN_STMT
  1773. # DEBUG BEGIN_STMT
  1774. if (xStreamBuffer_8(D) == 0B)
  1775. goto <bb 6>; [30.00%]
  1776. else
  1777. goto <bb 8>; [70.00%]
  1778. <bb 6> [local count: 75162]:
  1779. # DEBUG BEGIN_STMT
  1780. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1781. # DEBUG BEGIN_STMT
  1782. # DEBUG BEGIN_STMT
  1783. __asm__ __volatile__(" mov %0, %1
  1784. msr basepri, %0
  1785. isb
  1786. dsb
  1787. " : "=r" ulNewBASEPRI_21 : "i" 16 : "memory");
  1788. # DEBUG ulNewBASEPRI => ulNewBASEPRI_21
  1789. <bb 7> [local count: 751619279]:
  1790. # DEBUG ulNewBASEPRI => NULL
  1791. # DEBUG BEGIN_STMT
  1792. # DEBUG BEGIN_STMT
  1793. # DEBUG BEGIN_STMT
  1794. <bb 17> [local count: 751619279]:
  1795. goto <bb 7>; [100.00%]
  1796. <bb 8> [local count: 175378]:
  1797. # DEBUG BEGIN_STMT
  1798. # DEBUG BEGIN_STMT
  1799. _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].ucFlags;
  1800. _9 = _1 & 1;
  1801. if (_9 != 0)
  1802. goto <bb 10>; [50.00%]
  1803. else
  1804. goto <bb 9>; [50.00%]
  1805. <bb 9> [local count: 87689]:
  1806. # DEBUG BEGIN_STMT
  1807. # DEBUG xBytesToStoreMessageLength => 0
  1808. <bb 10> [local count: 175378]:
  1809. # xBytesToStoreMessageLength_5 = PHI <4(8), 0(9)>
  1810. # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_5
  1811. # DEBUG BEGIN_STMT
  1812. xBytesAvailable_13 = prvBytesInBuffer (xStreamBuffer_8(D));
  1813. # DEBUG xBytesAvailable => xBytesAvailable_13
  1814. # DEBUG BEGIN_STMT
  1815. if (xBytesToStoreMessageLength_5 < xBytesAvailable_13)
  1816. goto <bb 11>; [33.00%]
  1817. else
  1818. goto <bb 15>; [67.00%]
  1819. <bb 11> [local count: 57875]:
  1820. # DEBUG BEGIN_STMT
  1821. xReceivedLength_16 = prvReadMessageFromBuffer (xStreamBuffer_8(D), pvRxData_10(D), xBufferLengthBytes_14(D), xBytesAvailable_13);
  1822. # DEBUG xReceivedLength => xReceivedLength_16
  1823. # DEBUG BEGIN_STMT
  1824. if (xReceivedLength_16 != 0)
  1825. goto <bb 12>; [50.00%]
  1826. else
  1827. goto <bb 15>; [50.00%]
  1828. <bb 12> [local count: 28937]:
  1829. # DEBUG BEGIN_STMT
  1830. # DEBUG BEGIN_STMT
  1831. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  1832. # DEBUG BEGIN_STMT
  1833. # DEBUG BEGIN_STMT
  1834. __asm__ __volatile__(" mrs %0, basepri
  1835. mov %1, %2
  1836. msr basepri, %1
  1837. isb
  1838. dsb
  1839. " : "=r" ulOriginalBASEPRI_22, "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  1840. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  1841. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_22
  1842. # DEBUG BEGIN_STMT
  1843. # DEBUG ulNewBASEPRI => NULL
  1844. # DEBUG ulOriginalBASEPRI => NULL
  1845. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_22
  1846. # DEBUG BEGIN_STMT
  1847. _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend;
  1848. if (_2 != 0B)
  1849. goto <bb 13>; [53.47%]
  1850. else
  1851. goto <bb 14>; [46.53%]
  1852. <bb 13> [local count: 15473]:
  1853. # DEBUG BEGIN_STMT
  1854. _3 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend;
  1855. xTaskGenericNotifyFromISR (_3, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_17(D));
  1856. # DEBUG BEGIN_STMT
  1857. MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend ={v} 0B;
  1858. <bb 14> [local count: 28937]:
  1859. # DEBUG BEGIN_STMT
  1860. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_22
  1861. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  1862. # DEBUG BEGIN_STMT
  1863. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_22 : "memory");
  1864. <bb 15> [local count: 175378]:
  1865. # xReceivedLength_4 = PHI <0(10), xReceivedLength_16(14), xReceivedLength_16(11)>
  1866. # DEBUG ulNewMaskValue => NULL
  1867. # DEBUG xReceivedLength => xReceivedLength_4
  1868. # DEBUG BEGIN_STMT
  1869. # DEBUG BEGIN_STMT
  1870. # DEBUG BEGIN_STMT
  1871. return xReceivedLength_4;
  1872. }
  1873. xStreamBufferNextMessageLengthBytes (struct StreamBufferDef_t * xStreamBuffer)
  1874. {
  1875. uint32_t ulNewBASEPRI;
  1876. uint32_t ulNewBASEPRI;
  1877. size_t xTempReturn;
  1878. size_t xBytesAvailable;
  1879. size_t xReturn;
  1880. unsigned char _1;
  1881. unsigned int _2;
  1882. unsigned char _6;
  1883. <bb 2> [local count: 357913]:
  1884. # DEBUG BEGIN_STMT
  1885. # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  1886. # DEBUG BEGIN_STMT
  1887. # DEBUG BEGIN_STMT
  1888. # DEBUG BEGIN_STMT
  1889. if (xStreamBuffer_5(D) == 0B)
  1890. goto <bb 3>; [30.00%]
  1891. else
  1892. goto <bb 5>; [70.00%]
  1893. <bb 3> [local count: 107374]:
  1894. # DEBUG BEGIN_STMT
  1895. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1896. # DEBUG BEGIN_STMT
  1897. # DEBUG BEGIN_STMT
  1898. __asm__ __volatile__(" mov %0, %1
  1899. msr basepri, %0
  1900. isb
  1901. dsb
  1902. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  1903. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  1904. <bb 4> [local count: 1073741824]:
  1905. # DEBUG ulNewBASEPRI => NULL
  1906. # DEBUG BEGIN_STMT
  1907. # DEBUG BEGIN_STMT
  1908. # DEBUG BEGIN_STMT
  1909. <bb 12> [local count: 1073741824]:
  1910. goto <bb 4>; [100.00%]
  1911. <bb 5> [local count: 250539]:
  1912. # DEBUG BEGIN_STMT
  1913. # DEBUG BEGIN_STMT
  1914. _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags;
  1915. _6 = _1 & 1;
  1916. if (_6 != 0)
  1917. goto <bb 6>; [33.00%]
  1918. else
  1919. goto <bb 11>; [67.00%]
  1920. <bb 6> [local count: 82678]:
  1921. # DEBUG BEGIN_STMT
  1922. xBytesAvailable_9 = prvBytesInBuffer (xStreamBuffer_5(D));
  1923. # DEBUG xBytesAvailable => xBytesAvailable_9
  1924. # DEBUG BEGIN_STMT
  1925. if (xBytesAvailable_9 > 4)
  1926. goto <bb 7>; [33.00%]
  1927. else
  1928. goto <bb 8>; [67.00%]
  1929. <bb 7> [local count: 27284]:
  1930. # DEBUG BEGIN_STMT
  1931. _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTail;
  1932. prvReadBytesFromBuffer (xStreamBuffer_5(D), &xTempReturn, 4, _2);
  1933. # DEBUG BEGIN_STMT
  1934. xReturn_11 = xTempReturn;
  1935. # DEBUG xReturn => xReturn_11
  1936. goto <bb 11>; [100.00%]
  1937. <bb 8> [local count: 55394]:
  1938. # DEBUG BEGIN_STMT
  1939. if (xBytesAvailable_9 != 0)
  1940. goto <bb 9>; [50.00%]
  1941. else
  1942. goto <bb 11>; [50.00%]
  1943. <bb 9> [local count: 27697]:
  1944. # DEBUG BEGIN_STMT
  1945. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1946. # DEBUG BEGIN_STMT
  1947. # DEBUG BEGIN_STMT
  1948. __asm__ __volatile__(" mov %0, %1
  1949. msr basepri, %0
  1950. isb
  1951. dsb
  1952. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  1953. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  1954. <bb 10> [local count: 276971704]:
  1955. # DEBUG ulNewBASEPRI => NULL
  1956. # DEBUG BEGIN_STMT
  1957. # DEBUG BEGIN_STMT
  1958. # DEBUG BEGIN_STMT
  1959. <bb 13> [local count: 276971704]:
  1960. goto <bb 10>; [100.00%]
  1961. <bb 11> [local count: 222842]:
  1962. # xReturn_3 = PHI <0(8), 0(5), xReturn_11(7)>
  1963. # DEBUG xReturn => xReturn_3
  1964. # DEBUG BEGIN_STMT
  1965. xTempReturn ={v} {CLOBBER};
  1966. return xReturn_3;
  1967. }
  1968. xStreamBufferReceive (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait)
  1969. {
  1970. uint32_t ulNewBASEPRI;
  1971. uint32_t ulNewBASEPRI;
  1972. uint32_t ulNewBASEPRI;
  1973. size_t xBytesToStoreMessageLength;
  1974. size_t xBytesAvailable;
  1975. size_t xReceivedLength;
  1976. unsigned char _1;
  1977. struct tskTaskControlBlock * _2;
  1978. struct tskTaskControlBlock * _3;
  1979. struct tskTaskControlBlock * _4;
  1980. struct tskTaskControlBlock * _5;
  1981. unsigned char _14;
  1982. <bb 2> [local count: 357913]:
  1983. # DEBUG BEGIN_STMT
  1984. # DEBUG pxStreamBuffer => xStreamBuffer_13(D)
  1985. # DEBUG BEGIN_STMT
  1986. # DEBUG xReceivedLength => 0
  1987. # DEBUG BEGIN_STMT
  1988. if (pvRxData_15(D) == 0B)
  1989. goto <bb 3>; [30.00%]
  1990. else
  1991. goto <bb 5>; [70.00%]
  1992. <bb 3> [local count: 107374]:
  1993. # DEBUG BEGIN_STMT
  1994. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1995. # DEBUG BEGIN_STMT
  1996. # DEBUG BEGIN_STMT
  1997. __asm__ __volatile__(" mov %0, %1
  1998. msr basepri, %0
  1999. isb
  2000. dsb
  2001. " : "=r" ulNewBASEPRI_38 : "i" 16 : "memory");
  2002. # DEBUG ulNewBASEPRI => ulNewBASEPRI_38
  2003. <bb 4> [local count: 1073741824]:
  2004. # DEBUG ulNewBASEPRI => NULL
  2005. # DEBUG BEGIN_STMT
  2006. # DEBUG BEGIN_STMT
  2007. # DEBUG BEGIN_STMT
  2008. <bb 25> [local count: 1073741824]:
  2009. goto <bb 4>; [100.00%]
  2010. <bb 5> [local count: 250539]:
  2011. # DEBUG BEGIN_STMT
  2012. # DEBUG BEGIN_STMT
  2013. if (xStreamBuffer_13(D) == 0B)
  2014. goto <bb 6>; [30.00%]
  2015. else
  2016. goto <bb 8>; [70.00%]
  2017. <bb 6> [local count: 75162]:
  2018. # DEBUG BEGIN_STMT
  2019. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2020. # DEBUG BEGIN_STMT
  2021. # DEBUG BEGIN_STMT
  2022. __asm__ __volatile__(" mov %0, %1
  2023. msr basepri, %0
  2024. isb
  2025. dsb
  2026. " : "=r" ulNewBASEPRI_39 : "i" 16 : "memory");
  2027. # DEBUG ulNewBASEPRI => ulNewBASEPRI_39
  2028. <bb 7> [local count: 751619279]:
  2029. # DEBUG ulNewBASEPRI => NULL
  2030. # DEBUG BEGIN_STMT
  2031. # DEBUG BEGIN_STMT
  2032. # DEBUG BEGIN_STMT
  2033. <bb 26> [local count: 751619279]:
  2034. goto <bb 7>; [100.00%]
  2035. <bb 8> [local count: 175378]:
  2036. # DEBUG BEGIN_STMT
  2037. # DEBUG BEGIN_STMT
  2038. _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].ucFlags;
  2039. _14 = _1 & 1;
  2040. if (_14 != 0)
  2041. goto <bb 10>; [50.00%]
  2042. else
  2043. goto <bb 9>; [50.00%]
  2044. <bb 9> [local count: 87689]:
  2045. # DEBUG BEGIN_STMT
  2046. # DEBUG xBytesToStoreMessageLength => 0
  2047. <bb 10> [local count: 175378]:
  2048. # xBytesToStoreMessageLength_8 = PHI <4(8), 0(9)>
  2049. # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_8
  2050. # DEBUG BEGIN_STMT
  2051. if (xTicksToWait_17(D) != 0)
  2052. goto <bb 11>; [50.00%]
  2053. else
  2054. goto <bb 18>; [50.00%]
  2055. <bb 11> [local count: 87689]:
  2056. # DEBUG BEGIN_STMT
  2057. vPortEnterCritical ();
  2058. # DEBUG BEGIN_STMT
  2059. xBytesAvailable_22 = prvBytesInBuffer (xStreamBuffer_13(D));
  2060. # DEBUG xBytesAvailable => xBytesAvailable_22
  2061. # DEBUG BEGIN_STMT
  2062. if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22)
  2063. goto <bb 12>; [50.00%]
  2064. else
  2065. goto <bb 16>; [50.00%]
  2066. <bb 12> [local count: 43844]:
  2067. # DEBUG BEGIN_STMT
  2068. xTaskGenericNotifyStateClear (0B, 0);
  2069. # DEBUG BEGIN_STMT
  2070. _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive;
  2071. if (_2 != 0B)
  2072. goto <bb 13>; [82.57%]
  2073. else
  2074. goto <bb 15>; [17.43%]
  2075. <bb 13> [local count: 36202]:
  2076. # DEBUG BEGIN_STMT
  2077. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2078. # DEBUG BEGIN_STMT
  2079. # DEBUG BEGIN_STMT
  2080. __asm__ __volatile__(" mov %0, %1
  2081. msr basepri, %0
  2082. isb
  2083. dsb
  2084. " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory");
  2085. # DEBUG ulNewBASEPRI => ulNewBASEPRI_40
  2086. <bb 14> [local count: 362023689]:
  2087. # DEBUG ulNewBASEPRI => NULL
  2088. # DEBUG BEGIN_STMT
  2089. # DEBUG BEGIN_STMT
  2090. # DEBUG BEGIN_STMT
  2091. <bb 27> [local count: 362023689]:
  2092. goto <bb 14>; [100.00%]
  2093. <bb 15> [local count: 7642]:
  2094. # DEBUG BEGIN_STMT
  2095. # DEBUG BEGIN_STMT
  2096. _3 = xTaskGetCurrentTaskHandle ();
  2097. MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} _3;
  2098. <bb 16> [local count: 51486]:
  2099. # DEBUG BEGIN_STMT
  2100. # DEBUG BEGIN_STMT
  2101. vPortExitCritical ();
  2102. # DEBUG BEGIN_STMT
  2103. if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22)
  2104. goto <bb 17>; [33.00%]
  2105. else
  2106. goto <bb 19>; [67.00%]
  2107. <bb 17> [local count: 16991]:
  2108. # DEBUG BEGIN_STMT
  2109. # DEBUG BEGIN_STMT
  2110. xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait_17(D));
  2111. # DEBUG BEGIN_STMT
  2112. MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} 0B;
  2113. # DEBUG BEGIN_STMT
  2114. xBytesAvailable_30 = prvBytesInBuffer (xStreamBuffer_13(D));
  2115. # DEBUG xBytesAvailable => xBytesAvailable_30
  2116. goto <bb 19>; [100.00%]
  2117. <bb 18> [local count: 87689]:
  2118. # DEBUG BEGIN_STMT
  2119. xBytesAvailable_19 = prvBytesInBuffer (xStreamBuffer_13(D));
  2120. # DEBUG xBytesAvailable => xBytesAvailable_19
  2121. <bb 19> [local count: 139175]:
  2122. # xBytesAvailable_7 = PHI <xBytesAvailable_30(17), xBytesAvailable_19(18), xBytesAvailable_22(16)>
  2123. # DEBUG xBytesAvailable => xBytesAvailable_7
  2124. # DEBUG BEGIN_STMT
  2125. if (xBytesAvailable_7 > xBytesToStoreMessageLength_8)
  2126. goto <bb 20>; [33.00%]
  2127. else
  2128. goto <bb 24>; [67.00%]
  2129. <bb 20> [local count: 45928]:
  2130. # DEBUG BEGIN_STMT
  2131. xReceivedLength_33 = prvReadMessageFromBuffer (xStreamBuffer_13(D), pvRxData_15(D), xBufferLengthBytes_31(D), xBytesAvailable_7);
  2132. # DEBUG xReceivedLength => xReceivedLength_33
  2133. # DEBUG BEGIN_STMT
  2134. if (xReceivedLength_33 != 0)
  2135. goto <bb 21>; [33.00%]
  2136. else
  2137. goto <bb 24>; [67.00%]
  2138. <bb 21> [local count: 15156]:
  2139. # DEBUG BEGIN_STMT
  2140. # DEBUG BEGIN_STMT
  2141. vTaskSuspendAll ();
  2142. # DEBUG BEGIN_STMT
  2143. _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend;
  2144. if (_4 != 0B)
  2145. goto <bb 22>; [53.47%]
  2146. else
  2147. goto <bb 23>; [46.53%]
  2148. <bb 22> [local count: 8104]:
  2149. # DEBUG BEGIN_STMT
  2150. _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend;
  2151. xTaskGenericNotify (_5, 0, 0, 0, 0B);
  2152. # DEBUG BEGIN_STMT
  2153. MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend ={v} 0B;
  2154. <bb 23> [local count: 15156]:
  2155. # DEBUG BEGIN_STMT
  2156. xTaskResumeAll ();
  2157. # DEBUG BEGIN_STMT
  2158. <bb 24> [local count: 139175]:
  2159. # xReceivedLength_6 = PHI <0(19), xReceivedLength_33(23), xReceivedLength_33(20)>
  2160. # DEBUG xReceivedLength => xReceivedLength_6
  2161. # DEBUG BEGIN_STMT
  2162. # DEBUG BEGIN_STMT
  2163. # DEBUG BEGIN_STMT
  2164. return xReceivedLength_6;
  2165. }
  2166. prvWriteMessageToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, size_t xSpace, size_t xRequiredSpace)
  2167. {
  2168. size_t xHead;
  2169. size_t xNextHead;
  2170. unsigned char _1;
  2171. unsigned int xDataLengthBytes.2_2;
  2172. unsigned int _3;
  2173. unsigned int xDataLengthBytes.3_4;
  2174. unsigned int _5;
  2175. size_t _19;
  2176. unsigned char _22;
  2177. <bb 2> [local count: 1073741824]:
  2178. # DEBUG BEGIN_STMT
  2179. xNextHead_11 ={v} pxStreamBuffer_10(D)->xHead;
  2180. # DEBUG xNextHead => xNextHead_11
  2181. # DEBUG BEGIN_STMT
  2182. _1 = pxStreamBuffer_10(D)->ucFlags;
  2183. _22 = _1 & 1;
  2184. if (_22 != 0)
  2185. goto <bb 3>; [50.00%]
  2186. else
  2187. goto <bb 6>; [50.00%]
  2188. <bb 3> [local count: 536870913]:
  2189. # DEBUG BEGIN_STMT
  2190. if (xSpace_12(D) >= xRequiredSpace_14(D))
  2191. goto <bb 4>; [33.00%]
  2192. else
  2193. goto <bb 5>; [67.00%]
  2194. <bb 4> [local count: 177167401]:
  2195. # DEBUG BEGIN_STMT
  2196. # DEBUG pxStreamBuffer => pxStreamBuffer_10(D)
  2197. # DEBUG pucData => &xDataLengthBytes
  2198. # DEBUG xCount => 4
  2199. # DEBUG xHead => xNextHead_11
  2200. # DEBUG INLINE_ENTRY prvWriteBytesToBuffer
  2201. # DEBUG BEGIN_STMT
  2202. # DEBUG BEGIN_STMT
  2203. xHead_20 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_10(D), &xDataLengthBytes, 4, xNextHead_11);
  2204. # DEBUG xHead => xHead_20
  2205. # DEBUG BEGIN_STMT
  2206. # DEBUG BEGIN_STMT
  2207. # DEBUG pxStreamBuffer => NULL
  2208. # DEBUG pucData => NULL
  2209. # DEBUG xCount => NULL
  2210. # DEBUG xHead => NULL
  2211. # DEBUG ulNewBASEPRI => NULL
  2212. # DEBUG xNextHead => xHead_20
  2213. goto <bb 7>; [100.00%]
  2214. <bb 5> [local count: 359703511]:
  2215. # DEBUG BEGIN_STMT
  2216. xDataLengthBytes = 0;
  2217. goto <bb 7>; [100.00%]
  2218. <bb 6> [local count: 536870913]:
  2219. # DEBUG BEGIN_STMT
  2220. xDataLengthBytes.2_2 = xDataLengthBytes;
  2221. _3 = MIN_EXPR <xDataLengthBytes.2_2, xSpace_12(D)>;
  2222. xDataLengthBytes = _3;
  2223. <bb 7> [local count: 1073741824]:
  2224. # xNextHead_6 = PHI <xNextHead_11(5), xNextHead_11(6), xHead_20(4)>
  2225. # DEBUG xNextHead => xNextHead_6
  2226. # DEBUG BEGIN_STMT
  2227. xDataLengthBytes.3_4 = xDataLengthBytes;
  2228. if (xDataLengthBytes.3_4 != 0)
  2229. goto <bb 8>; [33.00%]
  2230. else
  2231. goto <bb 9>; [67.00%]
  2232. <bb 8> [local count: 354334802]:
  2233. # DEBUG BEGIN_STMT
  2234. _5 = prvWriteBytesToBuffer (pxStreamBuffer_10(D), pvTxData_16(D), xDataLengthBytes.3_4, xNextHead_6);
  2235. pxStreamBuffer_10(D)->xHead ={v} _5;
  2236. <bb 9> [local count: 1073741824]:
  2237. # DEBUG BEGIN_STMT
  2238. _19 = xDataLengthBytes;
  2239. return _19;
  2240. }
  2241. xStreamBufferSendFromISR (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken)
  2242. {
  2243. uint32_t ulOriginalBASEPRI;
  2244. uint32_t ulNewBASEPRI;
  2245. uint32_t ulNewBASEPRI;
  2246. uint32_t ulNewBASEPRI;
  2247. size_t xRequiredSpace;
  2248. size_t xSpace;
  2249. size_t xReturn;
  2250. unsigned char _1;
  2251. unsigned int _2;
  2252. unsigned int _3;
  2253. struct tskTaskControlBlock * _4;
  2254. struct tskTaskControlBlock * _5;
  2255. unsigned char _10;
  2256. <bb 2> [local count: 357913]:
  2257. # DEBUG BEGIN_STMT
  2258. # DEBUG pxStreamBuffer => xStreamBuffer_9(D)
  2259. # DEBUG BEGIN_STMT
  2260. # DEBUG BEGIN_STMT
  2261. # DEBUG xRequiredSpace => xDataLengthBytes_11(D)
  2262. # DEBUG BEGIN_STMT
  2263. if (pvTxData_12(D) == 0B)
  2264. goto <bb 3>; [30.00%]
  2265. else
  2266. goto <bb 5>; [70.00%]
  2267. <bb 3> [local count: 107374]:
  2268. # DEBUG BEGIN_STMT
  2269. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2270. # DEBUG BEGIN_STMT
  2271. # DEBUG BEGIN_STMT
  2272. __asm__ __volatile__(" mov %0, %1
  2273. msr basepri, %0
  2274. isb
  2275. dsb
  2276. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  2277. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  2278. <bb 4> [local count: 1073741824]:
  2279. # DEBUG ulNewBASEPRI => NULL
  2280. # DEBUG BEGIN_STMT
  2281. # DEBUG BEGIN_STMT
  2282. # DEBUG BEGIN_STMT
  2283. <bb 16> [local count: 1073741824]:
  2284. goto <bb 4>; [100.00%]
  2285. <bb 5> [local count: 250539]:
  2286. # DEBUG BEGIN_STMT
  2287. # DEBUG BEGIN_STMT
  2288. if (xStreamBuffer_9(D) == 0B)
  2289. goto <bb 6>; [30.00%]
  2290. else
  2291. goto <bb 8>; [70.00%]
  2292. <bb 6> [local count: 75162]:
  2293. # DEBUG BEGIN_STMT
  2294. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2295. # DEBUG BEGIN_STMT
  2296. # DEBUG BEGIN_STMT
  2297. __asm__ __volatile__(" mov %0, %1
  2298. msr basepri, %0
  2299. isb
  2300. dsb
  2301. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  2302. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  2303. <bb 7> [local count: 751619279]:
  2304. # DEBUG ulNewBASEPRI => NULL
  2305. # DEBUG BEGIN_STMT
  2306. # DEBUG BEGIN_STMT
  2307. # DEBUG BEGIN_STMT
  2308. <bb 17> [local count: 751619279]:
  2309. goto <bb 7>; [100.00%]
  2310. <bb 8> [local count: 175378]:
  2311. # DEBUG BEGIN_STMT
  2312. # DEBUG BEGIN_STMT
  2313. _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags;
  2314. _10 = _1 & 1;
  2315. if (_10 != 0)
  2316. goto <bb 9>; [50.00%]
  2317. else
  2318. goto <bb 10>; [50.00%]
  2319. <bb 9> [local count: 87689]:
  2320. # DEBUG BEGIN_STMT
  2321. xRequiredSpace_14 = xDataLengthBytes_11(D) + 4;
  2322. # DEBUG xRequiredSpace => xRequiredSpace_14
  2323. <bb 10> [local count: 175378]:
  2324. # xRequiredSpace_6 = PHI <xDataLengthBytes_11(D)(8), xRequiredSpace_14(9)>
  2325. # DEBUG xRequiredSpace => xRequiredSpace_6
  2326. # DEBUG BEGIN_STMT
  2327. # DEBUG BEGIN_STMT
  2328. xSpace_16 = xStreamBufferSpacesAvailable (xStreamBuffer_9(D));
  2329. # DEBUG xSpace => xSpace_16
  2330. # DEBUG BEGIN_STMT
  2331. xReturn_18 = prvWriteMessageToBuffer (xStreamBuffer_9(D), pvTxData_12(D), xDataLengthBytes_11(D), xSpace_16, xRequiredSpace_6);
  2332. # DEBUG xReturn => xReturn_18
  2333. # DEBUG BEGIN_STMT
  2334. if (xReturn_18 != 0)
  2335. goto <bb 11>; [33.00%]
  2336. else
  2337. goto <bb 15>; [67.00%]
  2338. <bb 11> [local count: 57875]:
  2339. # DEBUG BEGIN_STMT
  2340. _2 = prvBytesInBuffer (xStreamBuffer_9(D));
  2341. _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes;
  2342. if (_2 >= _3)
  2343. goto <bb 12>; [50.00%]
  2344. else
  2345. goto <bb 15>; [50.00%]
  2346. <bb 12> [local count: 28937]:
  2347. # DEBUG BEGIN_STMT
  2348. # DEBUG BEGIN_STMT
  2349. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  2350. # DEBUG BEGIN_STMT
  2351. # DEBUG BEGIN_STMT
  2352. __asm__ __volatile__(" mrs %0, basepri
  2353. mov %1, %2
  2354. msr basepri, %1
  2355. isb
  2356. dsb
  2357. " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  2358. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  2359. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25
  2360. # DEBUG BEGIN_STMT
  2361. # DEBUG ulNewBASEPRI => NULL
  2362. # DEBUG ulOriginalBASEPRI => NULL
  2363. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25
  2364. # DEBUG BEGIN_STMT
  2365. _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive;
  2366. if (_4 != 0B)
  2367. goto <bb 13>; [53.47%]
  2368. else
  2369. goto <bb 14>; [46.53%]
  2370. <bb 13> [local count: 15473]:
  2371. # DEBUG BEGIN_STMT
  2372. _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive;
  2373. xTaskGenericNotifyFromISR (_5, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_20(D));
  2374. # DEBUG BEGIN_STMT
  2375. MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive ={v} 0B;
  2376. <bb 14> [local count: 28937]:
  2377. # DEBUG BEGIN_STMT
  2378. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25
  2379. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  2380. # DEBUG BEGIN_STMT
  2381. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory");
  2382. <bb 15> [local count: 175378]:
  2383. # DEBUG ulNewMaskValue => NULL
  2384. # DEBUG BEGIN_STMT
  2385. # DEBUG BEGIN_STMT
  2386. # DEBUG BEGIN_STMT
  2387. return xReturn_18;
  2388. }
  2389. xStreamBufferSend (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait)
  2390. {
  2391. uint32_t ulNewBASEPRI;
  2392. uint32_t ulNewBASEPRI;
  2393. uint32_t ulNewBASEPRI;
  2394. uint32_t ulNewBASEPRI;
  2395. size_t xMaxReportedSpace;
  2396. struct TimeOut_t xTimeOut;
  2397. size_t xRequiredSpace;
  2398. size_t xSpace;
  2399. size_t xReturn;
  2400. unsigned int _1;
  2401. unsigned char _2;
  2402. unsigned int _3;
  2403. long unsigned int xTicksToWait.0_4;
  2404. struct tskTaskControlBlock * _5;
  2405. struct tskTaskControlBlock * _6;
  2406. long unsigned int xTicksToWait.1_7;
  2407. long int _8;
  2408. unsigned int _9;
  2409. unsigned int _10;
  2410. struct tskTaskControlBlock * _11;
  2411. struct tskTaskControlBlock * _12;
  2412. unsigned char _23;
  2413. <bb 2> [local count: 357913]:
  2414. # DEBUG BEGIN_STMT
  2415. # DEBUG pxStreamBuffer => xStreamBuffer_22(D)
  2416. # DEBUG BEGIN_STMT
  2417. # DEBUG xSpace => 0
  2418. # DEBUG BEGIN_STMT
  2419. # DEBUG xRequiredSpace => xDataLengthBytes_25(D)
  2420. # DEBUG BEGIN_STMT
  2421. # DEBUG BEGIN_STMT
  2422. # DEBUG xMaxReportedSpace => 0
  2423. # DEBUG BEGIN_STMT
  2424. if (pvTxData_27(D) == 0B)
  2425. goto <bb 3>; [30.00%]
  2426. else
  2427. goto <bb 5>; [70.00%]
  2428. <bb 3> [local count: 107374]:
  2429. # DEBUG BEGIN_STMT
  2430. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2431. # DEBUG BEGIN_STMT
  2432. # DEBUG BEGIN_STMT
  2433. __asm__ __volatile__(" mov %0, %1
  2434. msr basepri, %0
  2435. isb
  2436. dsb
  2437. " : "=r" ulNewBASEPRI_54 : "i" 16 : "memory");
  2438. # DEBUG ulNewBASEPRI => ulNewBASEPRI_54
  2439. <bb 4> [local count: 1073741824]:
  2440. # DEBUG ulNewBASEPRI => NULL
  2441. # DEBUG BEGIN_STMT
  2442. # DEBUG BEGIN_STMT
  2443. # DEBUG BEGIN_STMT
  2444. <bb 31> [local count: 1073741824]:
  2445. goto <bb 4>; [100.00%]
  2446. <bb 5> [local count: 250539]:
  2447. # DEBUG BEGIN_STMT
  2448. # DEBUG BEGIN_STMT
  2449. if (xStreamBuffer_22(D) == 0B)
  2450. goto <bb 6>; [30.00%]
  2451. else
  2452. goto <bb 8>; [70.00%]
  2453. <bb 6> [local count: 75162]:
  2454. # DEBUG BEGIN_STMT
  2455. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2456. # DEBUG BEGIN_STMT
  2457. # DEBUG BEGIN_STMT
  2458. __asm__ __volatile__(" mov %0, %1
  2459. msr basepri, %0
  2460. isb
  2461. dsb
  2462. " : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
  2463. # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
  2464. <bb 7> [local count: 751619279]:
  2465. # DEBUG ulNewBASEPRI => NULL
  2466. # DEBUG BEGIN_STMT
  2467. # DEBUG BEGIN_STMT
  2468. # DEBUG BEGIN_STMT
  2469. <bb 32> [local count: 751619279]:
  2470. goto <bb 7>; [100.00%]
  2471. <bb 8> [local count: 175378]:
  2472. # DEBUG BEGIN_STMT
  2473. # DEBUG BEGIN_STMT
  2474. _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xLength;
  2475. xMaxReportedSpace_29 = _1 + 4294967295;
  2476. # DEBUG xMaxReportedSpace => xMaxReportedSpace_29
  2477. # DEBUG BEGIN_STMT
  2478. _2 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].ucFlags;
  2479. _23 = _2 & 1;
  2480. if (_23 != 0)
  2481. goto <bb 9>; [50.00%]
  2482. else
  2483. goto <bb 14>; [50.00%]
  2484. <bb 9> [local count: 87689]:
  2485. # DEBUG BEGIN_STMT
  2486. xRequiredSpace_30 = xDataLengthBytes_25(D) + 4;
  2487. # DEBUG xRequiredSpace => xRequiredSpace_30
  2488. # DEBUG BEGIN_STMT
  2489. if (xDataLengthBytes_25(D) >= xRequiredSpace_30)
  2490. goto <bb 10>; [50.00%]
  2491. else
  2492. goto <bb 12>; [50.00%]
  2493. <bb 10> [local count: 43844]:
  2494. # DEBUG BEGIN_STMT
  2495. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2496. # DEBUG BEGIN_STMT
  2497. # DEBUG BEGIN_STMT
  2498. __asm__ __volatile__(" mov %0, %1
  2499. msr basepri, %0
  2500. isb
  2501. dsb
  2502. " : "=r" ulNewBASEPRI_56 : "i" 16 : "memory");
  2503. # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
  2504. <bb 11> [local count: 438444579]:
  2505. # DEBUG ulNewBASEPRI => NULL
  2506. # DEBUG BEGIN_STMT
  2507. # DEBUG BEGIN_STMT
  2508. # DEBUG BEGIN_STMT
  2509. <bb 33> [local count: 438444579]:
  2510. goto <bb 11>; [100.00%]
  2511. <bb 12> [local count: 43844]:
  2512. # DEBUG BEGIN_STMT
  2513. # DEBUG BEGIN_STMT
  2514. if (xMaxReportedSpace_29 < xRequiredSpace_30)
  2515. goto <bb 13>; [50.00%]
  2516. else
  2517. goto <bb 15>; [50.00%]
  2518. <bb 13> [local count: 21922]:
  2519. # DEBUG BEGIN_STMT
  2520. xTicksToWait = 0;
  2521. goto <bb 15>; [100.00%]
  2522. <bb 14> [local count: 87689]:
  2523. # DEBUG BEGIN_STMT
  2524. _3 = MIN_EXPR <xMaxReportedSpace_29, xDataLengthBytes_25(D)>;
  2525. <bb 15> [local count: 131533]:
  2526. # xRequiredSpace_15 = PHI <xRequiredSpace_30(13), _3(14), xRequiredSpace_30(12)>
  2527. # DEBUG xRequiredSpace => xRequiredSpace_15
  2528. # DEBUG BEGIN_STMT
  2529. # DEBUG BEGIN_STMT
  2530. xTicksToWait.0_4 = xTicksToWait;
  2531. if (xTicksToWait.0_4 != 0)
  2532. goto <bb 16>; [50.00%]
  2533. else
  2534. goto <bb 24>; [50.00%]
  2535. <bb 16> [local count: 65767]:
  2536. # DEBUG BEGIN_STMT
  2537. vTaskSetTimeOutState (&xTimeOut);
  2538. <bb 17> [local count: 621434]:
  2539. # DEBUG BEGIN_STMT
  2540. # DEBUG BEGIN_STMT
  2541. vPortEnterCritical ();
  2542. # DEBUG BEGIN_STMT
  2543. xSpace_35 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D));
  2544. # DEBUG xSpace => xSpace_35
  2545. # DEBUG BEGIN_STMT
  2546. if (xRequiredSpace_15 > xSpace_35)
  2547. goto <bb 18>; [96.34%]
  2548. else
  2549. goto <bb 22>; [3.66%]
  2550. <bb 18> [local count: 598690]:
  2551. # DEBUG BEGIN_STMT
  2552. xTaskGenericNotifyStateClear (0B, 0);
  2553. # DEBUG BEGIN_STMT
  2554. _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend;
  2555. if (_5 != 0B)
  2556. goto <bb 19>; [3.66%]
  2557. else
  2558. goto <bb 21>; [96.34%]
  2559. <bb 19> [local count: 21912]:
  2560. # DEBUG BEGIN_STMT
  2561. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2562. # DEBUG BEGIN_STMT
  2563. # DEBUG BEGIN_STMT
  2564. __asm__ __volatile__(" mov %0, %1
  2565. msr basepri, %0
  2566. isb
  2567. dsb
  2568. " : "=r" ulNewBASEPRI_57 : "i" 16 : "memory");
  2569. # DEBUG ulNewBASEPRI => ulNewBASEPRI_57
  2570. <bb 20> [local count: 219120732]:
  2571. # DEBUG ulNewBASEPRI => NULL
  2572. # DEBUG BEGIN_STMT
  2573. # DEBUG BEGIN_STMT
  2574. # DEBUG BEGIN_STMT
  2575. <bb 34> [local count: 219120732]:
  2576. goto <bb 20>; [100.00%]
  2577. <bb 21> [local count: 576777]:
  2578. # DEBUG BEGIN_STMT
  2579. # DEBUG BEGIN_STMT
  2580. _6 = xTaskGetCurrentTaskHandle ();
  2581. MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} _6;
  2582. # DEBUG BEGIN_STMT
  2583. vPortExitCritical ();
  2584. # DEBUG BEGIN_STMT
  2585. # DEBUG BEGIN_STMT
  2586. xTicksToWait.1_7 = xTicksToWait;
  2587. xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait.1_7);
  2588. # DEBUG BEGIN_STMT
  2589. MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} 0B;
  2590. # DEBUG BEGIN_STMT
  2591. _8 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  2592. if (_8 == 0)
  2593. goto <bb 35>; [96.34%]
  2594. else
  2595. goto <bb 23>; [3.66%]
  2596. <bb 35> [local count: 555667]:
  2597. goto <bb 17>; [100.00%]
  2598. <bb 22> [local count: 22744]:
  2599. # xSpace_24 = PHI <xSpace_35(17)>
  2600. # DEBUG BEGIN_STMT
  2601. vPortExitCritical ();
  2602. # DEBUG BEGIN_STMT
  2603. <bb 23> [local count: 43855]:
  2604. # xSpace_13 = PHI <xSpace_24(22), xSpace_35(21)>
  2605. # DEBUG xSpace => xSpace_13
  2606. # DEBUG BEGIN_STMT
  2607. # DEBUG BEGIN_STMT
  2608. if (xSpace_13 == 0)
  2609. goto <bb 24>; [50.00%]
  2610. else
  2611. goto <bb 25>; [50.00%]
  2612. <bb 24> [local count: 87694]:
  2613. # DEBUG xSpace => NULL
  2614. # DEBUG BEGIN_STMT
  2615. xSpace_45 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D));
  2616. # DEBUG xSpace => xSpace_45
  2617. <bb 25> [local count: 109621]:
  2618. # xSpace_14 = PHI <xSpace_13(23), xSpace_45(24)>
  2619. # DEBUG xSpace => xSpace_14
  2620. # DEBUG BEGIN_STMT
  2621. # DEBUG BEGIN_STMT
  2622. xReturn_47 = prvWriteMessageToBuffer (xStreamBuffer_22(D), pvTxData_27(D), xDataLengthBytes_25(D), xSpace_14, xRequiredSpace_15);
  2623. # DEBUG xReturn => xReturn_47
  2624. # DEBUG BEGIN_STMT
  2625. if (xReturn_47 != 0)
  2626. goto <bb 26>; [33.00%]
  2627. else
  2628. goto <bb 30>; [67.00%]
  2629. <bb 26> [local count: 36175]:
  2630. # DEBUG BEGIN_STMT
  2631. # DEBUG BEGIN_STMT
  2632. _9 = prvBytesInBuffer (xStreamBuffer_22(D));
  2633. _10 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTriggerLevelBytes;
  2634. if (_9 >= _10)
  2635. goto <bb 27>; [33.00%]
  2636. else
  2637. goto <bb 30>; [67.00%]
  2638. <bb 27> [local count: 11938]:
  2639. # DEBUG BEGIN_STMT
  2640. vTaskSuspendAll ();
  2641. # DEBUG BEGIN_STMT
  2642. _11 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive;
  2643. if (_11 != 0B)
  2644. goto <bb 28>; [53.47%]
  2645. else
  2646. goto <bb 29>; [46.53%]
  2647. <bb 28> [local count: 6383]:
  2648. # DEBUG BEGIN_STMT
  2649. _12 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive;
  2650. xTaskGenericNotify (_12, 0, 0, 0, 0B);
  2651. # DEBUG BEGIN_STMT
  2652. MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive ={v} 0B;
  2653. <bb 29> [local count: 11938]:
  2654. # DEBUG BEGIN_STMT
  2655. xTaskResumeAll ();
  2656. # DEBUG BEGIN_STMT
  2657. <bb 30> [local count: 109621]:
  2658. # DEBUG BEGIN_STMT
  2659. # DEBUG BEGIN_STMT
  2660. # DEBUG BEGIN_STMT
  2661. xTimeOut ={v} {CLOBBER};
  2662. return xReturn_47;
  2663. }
  2664. xStreamBufferBytesAvailable (struct StreamBufferDef_t * xStreamBuffer)
  2665. {
  2666. uint32_t ulNewBASEPRI;
  2667. size_t xReturn;
  2668. <bb 2> [local count: 230763]:
  2669. # DEBUG BEGIN_STMT
  2670. # DEBUG pxStreamBuffer => xStreamBuffer_1(D)
  2671. # DEBUG BEGIN_STMT
  2672. # DEBUG BEGIN_STMT
  2673. if (xStreamBuffer_1(D) == 0B)
  2674. goto <bb 3>; [46.53%]
  2675. else
  2676. goto <bb 5>; [53.47%]
  2677. <bb 3> [local count: 107374]:
  2678. # DEBUG BEGIN_STMT
  2679. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2680. # DEBUG BEGIN_STMT
  2681. # DEBUG BEGIN_STMT
  2682. __asm__ __volatile__(" mov %0, %1
  2683. msr basepri, %0
  2684. isb
  2685. dsb
  2686. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  2687. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  2688. <bb 4> [local count: 1073741824]:
  2689. # DEBUG ulNewBASEPRI => NULL
  2690. # DEBUG BEGIN_STMT
  2691. # DEBUG BEGIN_STMT
  2692. # DEBUG BEGIN_STMT
  2693. <bb 6> [local count: 1073741824]:
  2694. goto <bb 4>; [100.00%]
  2695. <bb 5> [local count: 123389]:
  2696. # DEBUG BEGIN_STMT
  2697. # DEBUG BEGIN_STMT
  2698. xReturn_4 = prvBytesInBuffer (xStreamBuffer_1(D));
  2699. # DEBUG xReturn => xReturn_4
  2700. # DEBUG BEGIN_STMT
  2701. return xReturn_4;
  2702. }
  2703. xStreamBufferSpacesAvailable (struct StreamBufferDef_t * xStreamBuffer)
  2704. {
  2705. size_t xOriginalTail;
  2706. size_t xSpace;
  2707. unsigned int _1;
  2708. unsigned int _2;
  2709. unsigned int _3;
  2710. unsigned int _4;
  2711. unsigned int _12;
  2712. <bb 2> [local count: 357913]:
  2713. # DEBUG BEGIN_STMT
  2714. # DEBUG pxStreamBuffer => xStreamBuffer_7(D)
  2715. # DEBUG BEGIN_STMT
  2716. # DEBUG BEGIN_STMT
  2717. # DEBUG BEGIN_STMT
  2718. if (xStreamBuffer_7(D) == 0B)
  2719. goto <bb 3>; [30.00%]
  2720. else
  2721. goto <bb 8>; [70.00%]
  2722. <bb 3> [local count: 107374]:
  2723. # DEBUG D#1 => xStreamBuffer_7(D)
  2724. xStreamBufferSpacesAvailable.part.0 ();
  2725. <bb 8> [local count: 250539]:
  2726. <bb 4> [local count: 2277630]:
  2727. # DEBUG BEGIN_STMT
  2728. # DEBUG BEGIN_STMT
  2729. # DEBUG BEGIN_STMT
  2730. xOriginalTail_10 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail;
  2731. # DEBUG xOriginalTail => xOriginalTail_10
  2732. # DEBUG BEGIN_STMT
  2733. _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xLength;
  2734. _2 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail;
  2735. xSpace_11 = _1 + _2;
  2736. # DEBUG xSpace => xSpace_11
  2737. # DEBUG BEGIN_STMT
  2738. _12 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xHead;
  2739. xSpace_13 = xSpace_11 - _12;
  2740. # DEBUG xSpace => xSpace_13
  2741. # DEBUG BEGIN_STMT
  2742. _3 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail;
  2743. if (_3 != xOriginalTail_10)
  2744. goto <bb 9>; [89.00%]
  2745. else
  2746. goto <bb 5>; [11.00%]
  2747. <bb 9> [local count: 2027091]:
  2748. goto <bb 4>; [100.00%]
  2749. <bb 5> [local count: 250539]:
  2750. # _4 = PHI <_1(4)>
  2751. # xSpace_5 = PHI <xSpace_13(4)>
  2752. # DEBUG BEGIN_STMT
  2753. xSpace_14 = xSpace_5 + 4294967295;
  2754. # DEBUG xSpace => xSpace_14
  2755. # DEBUG BEGIN_STMT
  2756. if (_4 <= xSpace_14)
  2757. goto <bb 6>; [50.00%]
  2758. else
  2759. goto <bb 7>; [50.00%]
  2760. <bb 6> [local count: 125270]:
  2761. # DEBUG BEGIN_STMT
  2762. xSpace_15 = xSpace_14 - _4;
  2763. # DEBUG xSpace => xSpace_15
  2764. <bb 7> [local count: 250539]:
  2765. # xSpace_6 = PHI <xSpace_14(5), xSpace_15(6)>
  2766. # DEBUG xSpace => xSpace_6
  2767. # DEBUG BEGIN_STMT
  2768. # DEBUG BEGIN_STMT
  2769. return xSpace_6;
  2770. }
  2771. xStreamBufferSetTriggerLevel (struct StreamBufferDef_t * xStreamBuffer, size_t xTriggerLevel)
  2772. {
  2773. uint32_t ulNewBASEPRI;
  2774. BaseType_t xReturn;
  2775. unsigned int _1;
  2776. <bb 2> [local count: 357913]:
  2777. # DEBUG BEGIN_STMT
  2778. # DEBUG pxStreamBuffer => xStreamBuffer_4(D)
  2779. # DEBUG BEGIN_STMT
  2780. # DEBUG BEGIN_STMT
  2781. if (xStreamBuffer_4(D) == 0B)
  2782. goto <bb 3>; [30.00%]
  2783. else
  2784. goto <bb 5>; [70.00%]
  2785. <bb 3> [local count: 107374]:
  2786. # DEBUG BEGIN_STMT
  2787. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2788. # DEBUG BEGIN_STMT
  2789. # DEBUG BEGIN_STMT
  2790. __asm__ __volatile__(" mov %0, %1
  2791. msr basepri, %0
  2792. isb
  2793. dsb
  2794. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  2795. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  2796. <bb 4> [local count: 1073741824]:
  2797. # DEBUG ulNewBASEPRI => NULL
  2798. # DEBUG BEGIN_STMT
  2799. # DEBUG BEGIN_STMT
  2800. # DEBUG BEGIN_STMT
  2801. <bb 8> [local count: 1073741824]:
  2802. goto <bb 4>; [100.00%]
  2803. <bb 5> [local count: 250539]:
  2804. # DEBUG BEGIN_STMT
  2805. # DEBUG BEGIN_STMT
  2806. xTriggerLevel_8 = MAX_EXPR <1, xTriggerLevel_5(D)>;
  2807. # DEBUG xTriggerLevel => xTriggerLevel_8
  2808. # DEBUG BEGIN_STMT
  2809. _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xLength;
  2810. if (_1 > xTriggerLevel_8)
  2811. goto <bb 6>; [50.00%]
  2812. else
  2813. goto <bb 7>; [50.00%]
  2814. <bb 6> [local count: 125270]:
  2815. # DEBUG BEGIN_STMT
  2816. MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xTriggerLevelBytes = xTriggerLevel_8;
  2817. # DEBUG BEGIN_STMT
  2818. # DEBUG xReturn => 1
  2819. <bb 7> [local count: 250539]:
  2820. # xReturn_2 = PHI <1(6), 0(5)>
  2821. # DEBUG xReturn => xReturn_2
  2822. # DEBUG BEGIN_STMT
  2823. return xReturn_2;
  2824. }
  2825. xStreamBufferReset (struct StreamBufferDef_t * xStreamBuffer)
  2826. {
  2827. uint32_t ulNewBASEPRI;
  2828. UBaseType_t uxStreamBufferNumber;
  2829. BaseType_t xReturn;
  2830. struct tskTaskControlBlock * _1;
  2831. struct tskTaskControlBlock * _2;
  2832. uint8_t * _3;
  2833. unsigned int _4;
  2834. unsigned int _5;
  2835. unsigned char _6;
  2836. <bb 2> [local count: 230763]:
  2837. # DEBUG BEGIN_STMT
  2838. # DEBUG pxStreamBuffer => xStreamBuffer_9(D)
  2839. # DEBUG BEGIN_STMT
  2840. # DEBUG xReturn => 0
  2841. # DEBUG BEGIN_STMT
  2842. # DEBUG BEGIN_STMT
  2843. if (xStreamBuffer_9(D) == 0B)
  2844. goto <bb 3>; [46.53%]
  2845. else
  2846. goto <bb 5>; [53.47%]
  2847. <bb 3> [local count: 107374]:
  2848. # DEBUG BEGIN_STMT
  2849. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2850. # DEBUG BEGIN_STMT
  2851. # DEBUG BEGIN_STMT
  2852. __asm__ __volatile__(" mov %0, %1
  2853. msr basepri, %0
  2854. isb
  2855. dsb
  2856. " : "=r" ulNewBASEPRI_16 : "i" 16 : "memory");
  2857. # DEBUG ulNewBASEPRI => ulNewBASEPRI_16
  2858. <bb 4> [local count: 1073741824]:
  2859. # DEBUG ulNewBASEPRI => NULL
  2860. # DEBUG BEGIN_STMT
  2861. # DEBUG BEGIN_STMT
  2862. # DEBUG BEGIN_STMT
  2863. <bb 9> [local count: 1073741824]:
  2864. goto <bb 4>; [100.00%]
  2865. <bb 5> [local count: 123389]:
  2866. # DEBUG BEGIN_STMT
  2867. # DEBUG BEGIN_STMT
  2868. uxStreamBufferNumber_11 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber;
  2869. # DEBUG uxStreamBufferNumber => uxStreamBufferNumber_11
  2870. # DEBUG BEGIN_STMT
  2871. vPortEnterCritical ();
  2872. # DEBUG BEGIN_STMT
  2873. _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive;
  2874. if (_1 == 0B)
  2875. goto <bb 6>; [30.00%]
  2876. else
  2877. goto <bb 8>; [70.00%]
  2878. <bb 6> [local count: 37017]:
  2879. # DEBUG BEGIN_STMT
  2880. _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToSend;
  2881. if (_2 == 0B)
  2882. goto <bb 7>; [17.43%]
  2883. else
  2884. goto <bb 8>; [82.57%]
  2885. <bb 7> [local count: 6452]:
  2886. # DEBUG BEGIN_STMT
  2887. _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].pucBuffer;
  2888. _4 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xLength;
  2889. _5 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes;
  2890. _6 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags;
  2891. prvInitialiseNewStreamBuffer (xStreamBuffer_9(D), _3, _4, _5, _6);
  2892. # DEBUG BEGIN_STMT
  2893. # DEBUG xReturn => 1
  2894. # DEBUG BEGIN_STMT
  2895. MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber = uxStreamBufferNumber_11;
  2896. <bb 8> [local count: 123389]:
  2897. # xReturn_7 = PHI <0(5), 0(6), 1(7)>
  2898. # DEBUG xReturn => xReturn_7
  2899. # DEBUG BEGIN_STMT
  2900. # DEBUG BEGIN_STMT
  2901. vPortExitCritical ();
  2902. # DEBUG BEGIN_STMT
  2903. return xReturn_7;
  2904. }
  2905. vStreamBufferDelete (struct StreamBufferDef_t * xStreamBuffer)
  2906. {
  2907. uint32_t ulNewBASEPRI;
  2908. unsigned char _1;
  2909. unsigned char _4;
  2910. <bb 2> [local count: 357913]:
  2911. # DEBUG BEGIN_STMT
  2912. # DEBUG pxStreamBuffer => xStreamBuffer_3(D)
  2913. # DEBUG BEGIN_STMT
  2914. if (xStreamBuffer_3(D) == 0B)
  2915. goto <bb 3>; [30.00%]
  2916. else
  2917. goto <bb 5>; [70.00%]
  2918. <bb 3> [local count: 107374]:
  2919. # DEBUG BEGIN_STMT
  2920. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2921. # DEBUG BEGIN_STMT
  2922. # DEBUG BEGIN_STMT
  2923. __asm__ __volatile__(" mov %0, %1
  2924. msr basepri, %0
  2925. isb
  2926. dsb
  2927. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  2928. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  2929. <bb 4> [local count: 1073741824]:
  2930. # DEBUG ulNewBASEPRI => NULL
  2931. # DEBUG BEGIN_STMT
  2932. # DEBUG BEGIN_STMT
  2933. # DEBUG BEGIN_STMT
  2934. <bb 9> [local count: 1073741824]:
  2935. goto <bb 4>; [100.00%]
  2936. <bb 5> [local count: 250539]:
  2937. # DEBUG BEGIN_STMT
  2938. # DEBUG BEGIN_STMT
  2939. # DEBUG BEGIN_STMT
  2940. _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_3(D)].ucFlags;
  2941. _4 = _1 & 2;
  2942. if (_4 == 0)
  2943. goto <bb 6>; [50.00%]
  2944. else
  2945. goto <bb 7>; [50.00%]
  2946. <bb 6> [local count: 125270]:
  2947. # DEBUG BEGIN_STMT
  2948. vPortFree (xStreamBuffer_3(D));
  2949. goto <bb 8>; [100.00%]
  2950. <bb 7> [local count: 125270]:
  2951. # DEBUG BEGIN_STMT
  2952. memset (xStreamBuffer_3(D), 0, 36);
  2953. <bb 8> [local count: 250539]:
  2954. return;
  2955. }
  2956. xStreamBufferGenericCreate (size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer)
  2957. {
  2958. uint32_t ulNewBASEPRI;
  2959. uint32_t ulNewBASEPRI;
  2960. uint32_t ulNewBASEPRI;
  2961. uint8_t ucFlags;
  2962. uint8_t * pucAllocatedMemory;
  2963. unsigned int _1;
  2964. uint8_t * _2;
  2965. <bb 2> [local count: 325376]:
  2966. # DEBUG BEGIN_STMT
  2967. # DEBUG BEGIN_STMT
  2968. # DEBUG BEGIN_STMT
  2969. if (xIsMessageBuffer_5(D) == 1)
  2970. goto <bb 3>; [34.00%]
  2971. else
  2972. goto <bb 6>; [66.00%]
  2973. <bb 3> [local count: 110628]:
  2974. # DEBUG BEGIN_STMT
  2975. # DEBUG ucFlags => 1
  2976. # DEBUG BEGIN_STMT
  2977. if (xBufferSizeBytes_6(D) <= 4)
  2978. goto <bb 4>; [50.00%]
  2979. else
  2980. goto <bb 9>; [50.00%]
  2981. <bb 4> [local count: 55314]:
  2982. # DEBUG BEGIN_STMT
  2983. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2984. # DEBUG BEGIN_STMT
  2985. # DEBUG BEGIN_STMT
  2986. __asm__ __volatile__(" mov %0, %1
  2987. msr basepri, %0
  2988. isb
  2989. dsb
  2990. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  2991. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  2992. <bb 5> [local count: 553139728]:
  2993. # DEBUG ulNewBASEPRI => NULL
  2994. # DEBUG BEGIN_STMT
  2995. # DEBUG BEGIN_STMT
  2996. # DEBUG BEGIN_STMT
  2997. <bb 16> [local count: 553139728]:
  2998. goto <bb 5>; [100.00%]
  2999. <bb 6> [local count: 214748]:
  3000. # DEBUG BEGIN_STMT
  3001. # DEBUG ucFlags => 0
  3002. # DEBUG BEGIN_STMT
  3003. if (xBufferSizeBytes_6(D) == 0)
  3004. goto <bb 7>; [50.00%]
  3005. else
  3006. goto <bb 9>; [50.00%]
  3007. <bb 7> [local count: 107374]:
  3008. # DEBUG BEGIN_STMT
  3009. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3010. # DEBUG BEGIN_STMT
  3011. # DEBUG BEGIN_STMT
  3012. __asm__ __volatile__(" mov %0, %1
  3013. msr basepri, %0
  3014. isb
  3015. dsb
  3016. " : "=r" ulNewBASEPRI_16 : "i" 16 : "memory");
  3017. # DEBUG ulNewBASEPRI => ulNewBASEPRI_16
  3018. <bb 8> [local count: 1073741824]:
  3019. # DEBUG ulNewBASEPRI => NULL
  3020. # DEBUG BEGIN_STMT
  3021. # DEBUG BEGIN_STMT
  3022. # DEBUG BEGIN_STMT
  3023. <bb 18> [local count: 1073741824]:
  3024. goto <bb 8>; [100.00%]
  3025. <bb 9> [local count: 162688]:
  3026. # ucFlags_3 = PHI <1(3), 0(6)>
  3027. # DEBUG ucFlags => ucFlags_3
  3028. # DEBUG BEGIN_STMT
  3029. # DEBUG BEGIN_STMT
  3030. if (xBufferSizeBytes_6(D) < xTriggerLevelBytes_8(D))
  3031. goto <bb 10>; [50.00%]
  3032. else
  3033. goto <bb 12>; [50.00%]
  3034. <bb 10> [local count: 81344]:
  3035. # DEBUG BEGIN_STMT
  3036. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3037. # DEBUG BEGIN_STMT
  3038. # DEBUG BEGIN_STMT
  3039. __asm__ __volatile__(" mov %0, %1
  3040. msr basepri, %0
  3041. isb
  3042. dsb
  3043. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  3044. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  3045. <bb 11> [local count: 813440776]:
  3046. # DEBUG ulNewBASEPRI => NULL
  3047. # DEBUG BEGIN_STMT
  3048. # DEBUG BEGIN_STMT
  3049. # DEBUG BEGIN_STMT
  3050. <bb 17> [local count: 813440776]:
  3051. goto <bb 11>; [100.00%]
  3052. <bb 12> [local count: 81344]:
  3053. # DEBUG BEGIN_STMT
  3054. # DEBUG BEGIN_STMT
  3055. xTriggerLevelBytes_9 = MAX_EXPR <1, xTriggerLevelBytes_8(D)>;
  3056. # DEBUG xTriggerLevelBytes => xTriggerLevelBytes_9
  3057. # DEBUG BEGIN_STMT
  3058. if (xBufferSizeBytes_6(D) <= 4294967258)
  3059. goto <bb 13>; [54.67%]
  3060. else
  3061. goto <bb 15>; [45.33%]
  3062. <bb 13> [local count: 44471]:
  3063. # DEBUG BEGIN_STMT
  3064. xBufferSizeBytes_11 = xBufferSizeBytes_6(D) + 1;
  3065. # DEBUG xBufferSizeBytes => xBufferSizeBytes_11
  3066. # DEBUG BEGIN_STMT
  3067. _1 = xBufferSizeBytes_6(D) + 37;
  3068. pucAllocatedMemory_13 = pvPortMalloc (_1);
  3069. # DEBUG pucAllocatedMemory => pucAllocatedMemory_13
  3070. # DEBUG xBufferSizeBytes => xBufferSizeBytes_11
  3071. # DEBUG BEGIN_STMT
  3072. if (pucAllocatedMemory_13 != 0B)
  3073. goto <bb 14>; [53.47%]
  3074. else
  3075. goto <bb 15>; [46.53%]
  3076. <bb 14> [local count: 23779]:
  3077. # DEBUG BEGIN_STMT
  3078. _2 = pucAllocatedMemory_13 + 36;
  3079. prvInitialiseNewStreamBuffer (pucAllocatedMemory_13, _2, xBufferSizeBytes_11, xTriggerLevelBytes_9, ucFlags_3);
  3080. # DEBUG BEGIN_STMT
  3081. <bb 15> [local count: 81344]:
  3082. # pucAllocatedMemory_10 = PHI <pucAllocatedMemory_13(13), pucAllocatedMemory_13(14), 0B(12)>
  3083. # DEBUG pucAllocatedMemory => NULL
  3084. # DEBUG xBufferSizeBytes => NULL
  3085. # DEBUG BEGIN_STMT
  3086. # DEBUG BEGIN_STMT
  3087. return pucAllocatedMemory_10;
  3088. }