queue.c.072i.cp 206 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972
  1. IPA constant propagation start:
  2. Determining dynamic type for call: prvUnlockQueue (xQueue_8(D));
  3. Starting walk at: prvUnlockQueue (xQueue_8(D));
  4. instance pointer: xQueue_8(D) Outer instance pointer: xQueue_8(D) offset: 0 (bits) vtbl reference:
  5. Function call may change dynamic type:vPortExitCritical ();
  6. Function call may change dynamic type:vPortEnterCritical ();
  7. Function call may change dynamic type:vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));
  8. Determining dynamic type for call: vQueueUnregisterQueue (xQueue_1(D));
  9. Starting walk at: vQueueUnregisterQueue (xQueue_1(D));
  10. instance pointer: xQueue_1(D) Outer instance pointer: xQueue_1(D) offset: 0 (bits) vtbl reference:
  11. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  12. Starting walk at: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  13. instance pointer: xQueue_6(D) Outer instance pointer: xQueue_6(D) offset: 0 (bits) vtbl reference:
  14. Function call may change dynamic type:vPortValidateInterruptPriority ();
  15. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  16. Starting walk at: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  17. instance pointer: pvBuffer_7(D) Outer instance pointer: pvBuffer_7(D) offset: 0 (bits) vtbl reference:
  18. Function call may change dynamic type:vPortValidateInterruptPriority ();
  19. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  20. Starting walk at: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  21. instance pointer: xQueue_11(D) Outer instance pointer: xQueue_11(D) offset: 0 (bits) vtbl reference:
  22. Function call may change dynamic type:vPortValidateInterruptPriority ();
  23. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  24. Starting walk at: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  25. instance pointer: pvBuffer_12(D) Outer instance pointer: pvBuffer_12(D) offset: 0 (bits) vtbl reference:
  26. Function call may change dynamic type:vPortValidateInterruptPriority ();
  27. Determining dynamic type for call: prvUnlockQueue (xQueue_26(D));
  28. Starting walk at: prvUnlockQueue (xQueue_26(D));
  29. instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference:
  30. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  31. Function call may change dynamic type:vPortExitCritical ();
  32. Function call may change dynamic type:vPortEnterCritical ();
  33. Function call may change dynamic type:vTaskSuspendAll ();
  34. Function call may change dynamic type:vPortExitCritical ();
  35. Function call may change dynamic type:vPortEnterCritical ();
  36. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  37. Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D));
  38. Function call may change dynamic type:xTaskResumeAll ();
  39. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  40. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  41. Function call may change dynamic type:vPortExitCritical ();
  42. Function call may change dynamic type:xTaskResumeAll ();
  43. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  44. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  45. Function call may change dynamic type:_14 = xTaskResumeAll ();
  46. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  47. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  48. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  49. Determining dynamic type for call: _15 = prvIsQueueEmpty (xQueue_26(D));
  50. Starting walk at: _15 = prvIsQueueEmpty (xQueue_26(D));
  51. instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference:
  52. Function call may change dynamic type:xTaskResumeAll ();
  53. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  54. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  55. Function call may change dynamic type:vPortExitCritical ();
  56. Function call may change dynamic type:vPortEnterCritical ();
  57. Function call may change dynamic type:vTaskSuspendAll ();
  58. Function call may change dynamic type:vPortExitCritical ();
  59. Function call may change dynamic type:vPortEnterCritical ();
  60. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  61. Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D));
  62. Function call may change dynamic type:xTaskResumeAll ();
  63. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  64. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  65. Function call may change dynamic type:vPortExitCritical ();
  66. Function call may change dynamic type:xTaskResumeAll ();
  67. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  68. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  69. Function call may change dynamic type:_14 = xTaskResumeAll ();
  70. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  71. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  72. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  73. Determining dynamic type for call: _11 = prvIsQueueEmpty (xQueue_26(D));
  74. Starting walk at: _11 = prvIsQueueEmpty (xQueue_26(D));
  75. instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference:
  76. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  77. Function call may change dynamic type:vPortExitCritical ();
  78. Function call may change dynamic type:vPortEnterCritical ();
  79. Function call may change dynamic type:vTaskSuspendAll ();
  80. Function call may change dynamic type:vPortExitCritical ();
  81. Function call may change dynamic type:vPortEnterCritical ();
  82. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  83. Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D));
  84. Function call may change dynamic type:xTaskResumeAll ();
  85. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  86. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  87. Function call may change dynamic type:vPortExitCritical ();
  88. Function call may change dynamic type:xTaskResumeAll ();
  89. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  90. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  91. Function call may change dynamic type:_14 = xTaskResumeAll ();
  92. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  93. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  94. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  95. Determining dynamic type for call: prvUnlockQueue (xQueue_26(D));
  96. Starting walk at: prvUnlockQueue (xQueue_26(D));
  97. instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference:
  98. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  99. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  100. Function call may change dynamic type:vPortExitCritical ();
  101. Function call may change dynamic type:vPortEnterCritical ();
  102. Function call may change dynamic type:vTaskSuspendAll ();
  103. Function call may change dynamic type:vPortExitCritical ();
  104. Function call may change dynamic type:vPortEnterCritical ();
  105. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  106. Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D));
  107. Function call may change dynamic type:xTaskResumeAll ();
  108. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  109. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  110. Function call may change dynamic type:vPortExitCritical ();
  111. Function call may change dynamic type:xTaskResumeAll ();
  112. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  113. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  114. Function call may change dynamic type:_14 = xTaskResumeAll ();
  115. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  116. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  117. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  118. Determining dynamic type for call: prvUnlockQueue (xQueue_26(D));
  119. Starting walk at: prvUnlockQueue (xQueue_26(D));
  120. instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference:
  121. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  122. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  123. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  124. Function call may change dynamic type:vPortExitCritical ();
  125. Function call may change dynamic type:vPortEnterCritical ();
  126. Function call may change dynamic type:vTaskSuspendAll ();
  127. Function call may change dynamic type:vPortExitCritical ();
  128. Function call may change dynamic type:vPortEnterCritical ();
  129. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  130. Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D));
  131. Function call may change dynamic type:xTaskResumeAll ();
  132. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  133. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  134. Function call may change dynamic type:vPortExitCritical ();
  135. Function call may change dynamic type:xTaskResumeAll ();
  136. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  137. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  138. Function call may change dynamic type:_14 = xTaskResumeAll ();
  139. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  140. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  141. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  142. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  143. Starting walk at: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  144. instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference:
  145. Function call may change dynamic type:vPortEnterCritical ();
  146. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  147. Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D));
  148. Function call may change dynamic type:xTaskResumeAll ();
  149. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  150. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  151. Function call may change dynamic type:vPortExitCritical ();
  152. Function call may change dynamic type:vPortEnterCritical ();
  153. Function call may change dynamic type:vTaskSuspendAll ();
  154. Function call may change dynamic type:vPortExitCritical ();
  155. Function call may change dynamic type:vPortEnterCritical ();
  156. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  157. Function call may change dynamic type:xTaskResumeAll ();
  158. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  159. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  160. Function call may change dynamic type:_14 = xTaskResumeAll ();
  161. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  162. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  163. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  164. Starting walk at: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  165. instance pointer: pvBuffer_27(D) Outer instance pointer: pvBuffer_27(D) offset: 0 (bits) vtbl reference:
  166. Function call may change dynamic type:vPortEnterCritical ();
  167. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  168. Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D));
  169. Function call may change dynamic type:xTaskResumeAll ();
  170. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  171. Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  172. Function call may change dynamic type:vPortExitCritical ();
  173. Function call may change dynamic type:vPortEnterCritical ();
  174. Function call may change dynamic type:vTaskSuspendAll ();
  175. Function call may change dynamic type:vPortExitCritical ();
  176. Function call may change dynamic type:vPortEnterCritical ();
  177. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  178. Function call may change dynamic type:xTaskResumeAll ();
  179. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  180. Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D));
  181. Function call may change dynamic type:_14 = xTaskResumeAll ();
  182. Function call may change dynamic type:prvUnlockQueue (xQueue_26(D));
  183. Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  184. Determining dynamic type for call: prvUnlockQueue (xQueue_38(D));
  185. Starting walk at: prvUnlockQueue (xQueue_38(D));
  186. instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference:
  187. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  188. Function call may change dynamic type:vPortExitCritical ();
  189. Function call may change dynamic type:vPortEnterCritical ();
  190. Function call may change dynamic type:vTaskSuspendAll ();
  191. Function call may change dynamic type:vPortExitCritical ();
  192. Function call may change dynamic type:vPortEnterCritical ();
  193. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  194. Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D));
  195. Function call may change dynamic type:xTaskResumeAll ();
  196. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  197. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  198. Function call may change dynamic type:vPortExitCritical ();
  199. Function call may change dynamic type:xTaskResumeAll ();
  200. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  201. Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D));
  202. Function call may change dynamic type:_19 = xTaskResumeAll ();
  203. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  204. Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  205. Function call may change dynamic type:vPortExitCritical ();
  206. Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  207. Function call may change dynamic type:vPortEnterCritical ();
  208. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  209. Determining dynamic type for call: _20 = prvIsQueueEmpty (xQueue_38(D));
  210. Starting walk at: _20 = prvIsQueueEmpty (xQueue_38(D));
  211. instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference:
  212. Function call may change dynamic type:xTaskResumeAll ();
  213. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  214. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  215. Function call may change dynamic type:vPortExitCritical ();
  216. Function call may change dynamic type:vPortEnterCritical ();
  217. Function call may change dynamic type:vTaskSuspendAll ();
  218. Function call may change dynamic type:vPortExitCritical ();
  219. Function call may change dynamic type:vPortEnterCritical ();
  220. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  221. Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D));
  222. Function call may change dynamic type:xTaskResumeAll ();
  223. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  224. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  225. Function call may change dynamic type:vPortExitCritical ();
  226. Function call may change dynamic type:xTaskResumeAll ();
  227. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  228. Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D));
  229. Function call may change dynamic type:_19 = xTaskResumeAll ();
  230. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  231. Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  232. Function call may change dynamic type:vPortExitCritical ();
  233. Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  234. Function call may change dynamic type:vPortEnterCritical ();
  235. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  236. Determining dynamic type for call: uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  237. Starting walk at: uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  238. instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference:
  239. Function call may change dynamic type:vPortEnterCritical ();
  240. Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D));
  241. Function call may change dynamic type:xTaskResumeAll ();
  242. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  243. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  244. Function call may change dynamic type:vPortExitCritical ();
  245. Function call may change dynamic type:vPortEnterCritical ();
  246. Function call may change dynamic type:vTaskSuspendAll ();
  247. Function call may change dynamic type:vPortExitCritical ();
  248. Function call may change dynamic type:vPortEnterCritical ();
  249. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  250. Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D));
  251. Function call may change dynamic type:xTaskResumeAll ();
  252. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  253. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  254. Function call may change dynamic type:vPortExitCritical ();
  255. Function call may change dynamic type:xTaskResumeAll ();
  256. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  257. Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D));
  258. Function call may change dynamic type:_19 = xTaskResumeAll ();
  259. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  260. Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  261. Function call may change dynamic type:vPortExitCritical ();
  262. Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  263. Function call may change dynamic type:vPortEnterCritical ();
  264. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  265. Determining dynamic type for call: _14 = prvIsQueueEmpty (xQueue_38(D));
  266. Starting walk at: _14 = prvIsQueueEmpty (xQueue_38(D));
  267. instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference:
  268. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  269. Function call may change dynamic type:vPortExitCritical ();
  270. Function call may change dynamic type:vPortEnterCritical ();
  271. Function call may change dynamic type:vTaskSuspendAll ();
  272. Function call may change dynamic type:vPortExitCritical ();
  273. Function call may change dynamic type:vPortEnterCritical ();
  274. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  275. Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D));
  276. Function call may change dynamic type:xTaskResumeAll ();
  277. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  278. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  279. Function call may change dynamic type:vPortExitCritical ();
  280. Function call may change dynamic type:xTaskResumeAll ();
  281. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  282. Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D));
  283. Function call may change dynamic type:_19 = xTaskResumeAll ();
  284. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  285. Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  286. Function call may change dynamic type:vPortExitCritical ();
  287. Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  288. Function call may change dynamic type:vPortEnterCritical ();
  289. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  290. Determining dynamic type for call: prvUnlockQueue (xQueue_38(D));
  291. Starting walk at: prvUnlockQueue (xQueue_38(D));
  292. instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference:
  293. Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D));
  294. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  295. Function call may change dynamic type:vPortExitCritical ();
  296. Function call may change dynamic type:vPortEnterCritical ();
  297. Function call may change dynamic type:vTaskSuspendAll ();
  298. Function call may change dynamic type:vPortExitCritical ();
  299. Function call may change dynamic type:vPortEnterCritical ();
  300. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  301. Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D));
  302. Function call may change dynamic type:xTaskResumeAll ();
  303. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  304. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  305. Function call may change dynamic type:vPortExitCritical ();
  306. Function call may change dynamic type:xTaskResumeAll ();
  307. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  308. Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D));
  309. Function call may change dynamic type:_19 = xTaskResumeAll ();
  310. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  311. Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  312. Function call may change dynamic type:vPortExitCritical ();
  313. Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  314. Function call may change dynamic type:vPortEnterCritical ();
  315. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  316. Determining dynamic type for call: prvUnlockQueue (xQueue_38(D));
  317. Starting walk at: prvUnlockQueue (xQueue_38(D));
  318. instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference:
  319. Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  320. Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D));
  321. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  322. Function call may change dynamic type:vPortExitCritical ();
  323. Function call may change dynamic type:vPortEnterCritical ();
  324. Function call may change dynamic type:vTaskSuspendAll ();
  325. Function call may change dynamic type:vPortExitCritical ();
  326. Function call may change dynamic type:vPortEnterCritical ();
  327. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  328. Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D));
  329. Function call may change dynamic type:xTaskResumeAll ();
  330. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  331. Function call may change dynamic type:xTaskResumeAll ();
  332. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  333. Function call may change dynamic type:_19 = xTaskResumeAll ();
  334. Function call may change dynamic type:prvUnlockQueue (xQueue_38(D));
  335. Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  336. Function call may change dynamic type:vPortExitCritical ();
  337. Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  338. Function call may change dynamic type:vPortEnterCritical ();
  339. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  340. Determining dynamic type for call: prvUnlockQueue (xQueue_27(D));
  341. Starting walk at: prvUnlockQueue (xQueue_27(D));
  342. instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference:
  343. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  344. Function call may change dynamic type:vPortExitCritical ();
  345. Function call may change dynamic type:vPortEnterCritical ();
  346. Function call may change dynamic type:vTaskSuspendAll ();
  347. Function call may change dynamic type:vPortExitCritical ();
  348. Function call may change dynamic type:vPortEnterCritical ();
  349. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  350. Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D));
  351. Function call may change dynamic type:xTaskResumeAll ();
  352. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  353. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  354. Function call may change dynamic type:vPortExitCritical ();
  355. Function call may change dynamic type:xTaskResumeAll ();
  356. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  357. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  358. Function call may change dynamic type:_15 = xTaskResumeAll ();
  359. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  360. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  361. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  362. Determining dynamic type for call: _16 = prvIsQueueEmpty (xQueue_27(D));
  363. Starting walk at: _16 = prvIsQueueEmpty (xQueue_27(D));
  364. instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference:
  365. Function call may change dynamic type:xTaskResumeAll ();
  366. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  367. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  368. Function call may change dynamic type:vPortExitCritical ();
  369. Function call may change dynamic type:vPortEnterCritical ();
  370. Function call may change dynamic type:vTaskSuspendAll ();
  371. Function call may change dynamic type:vPortExitCritical ();
  372. Function call may change dynamic type:vPortEnterCritical ();
  373. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  374. Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D));
  375. Function call may change dynamic type:xTaskResumeAll ();
  376. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  377. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  378. Function call may change dynamic type:vPortExitCritical ();
  379. Function call may change dynamic type:xTaskResumeAll ();
  380. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  381. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  382. Function call may change dynamic type:_15 = xTaskResumeAll ();
  383. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  384. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  385. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  386. Determining dynamic type for call: _12 = prvIsQueueEmpty (xQueue_27(D));
  387. Starting walk at: _12 = prvIsQueueEmpty (xQueue_27(D));
  388. instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference:
  389. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  390. Function call may change dynamic type:vPortExitCritical ();
  391. Function call may change dynamic type:vPortEnterCritical ();
  392. Function call may change dynamic type:vTaskSuspendAll ();
  393. Function call may change dynamic type:vPortExitCritical ();
  394. Function call may change dynamic type:vPortEnterCritical ();
  395. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  396. Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D));
  397. Function call may change dynamic type:xTaskResumeAll ();
  398. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  399. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  400. Function call may change dynamic type:vPortExitCritical ();
  401. Function call may change dynamic type:xTaskResumeAll ();
  402. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  403. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  404. Function call may change dynamic type:_15 = xTaskResumeAll ();
  405. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  406. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  407. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  408. Determining dynamic type for call: prvUnlockQueue (xQueue_27(D));
  409. Starting walk at: prvUnlockQueue (xQueue_27(D));
  410. instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference:
  411. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  412. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  413. Function call may change dynamic type:vPortExitCritical ();
  414. Function call may change dynamic type:vPortEnterCritical ();
  415. Function call may change dynamic type:vTaskSuspendAll ();
  416. Function call may change dynamic type:vPortExitCritical ();
  417. Function call may change dynamic type:vPortEnterCritical ();
  418. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  419. Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D));
  420. Function call may change dynamic type:xTaskResumeAll ();
  421. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  422. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  423. Function call may change dynamic type:vPortExitCritical ();
  424. Function call may change dynamic type:xTaskResumeAll ();
  425. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  426. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  427. Function call may change dynamic type:_15 = xTaskResumeAll ();
  428. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  429. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  430. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  431. Determining dynamic type for call: prvUnlockQueue (xQueue_27(D));
  432. Starting walk at: prvUnlockQueue (xQueue_27(D));
  433. instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference:
  434. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  435. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  436. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  437. Function call may change dynamic type:vPortExitCritical ();
  438. Function call may change dynamic type:vPortEnterCritical ();
  439. Function call may change dynamic type:vTaskSuspendAll ();
  440. Function call may change dynamic type:vPortExitCritical ();
  441. Function call may change dynamic type:vPortEnterCritical ();
  442. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  443. Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D));
  444. Function call may change dynamic type:xTaskResumeAll ();
  445. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  446. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  447. Function call may change dynamic type:vPortExitCritical ();
  448. Function call may change dynamic type:xTaskResumeAll ();
  449. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  450. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  451. Function call may change dynamic type:_15 = xTaskResumeAll ();
  452. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  453. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  454. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  455. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  456. Starting walk at: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  457. instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference:
  458. Function call may change dynamic type:vPortEnterCritical ();
  459. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  460. Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D));
  461. Function call may change dynamic type:xTaskResumeAll ();
  462. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  463. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  464. Function call may change dynamic type:vPortExitCritical ();
  465. Function call may change dynamic type:vPortEnterCritical ();
  466. Function call may change dynamic type:vTaskSuspendAll ();
  467. Function call may change dynamic type:vPortExitCritical ();
  468. Function call may change dynamic type:vPortEnterCritical ();
  469. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  470. Function call may change dynamic type:xTaskResumeAll ();
  471. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  472. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  473. Function call may change dynamic type:_15 = xTaskResumeAll ();
  474. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  475. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  476. Determining dynamic type for call: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  477. Starting walk at: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  478. instance pointer: pvBuffer_28(D) Outer instance pointer: pvBuffer_28(D) offset: 0 (bits) vtbl reference:
  479. Function call may change dynamic type:vPortEnterCritical ();
  480. Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
  481. Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D));
  482. Function call may change dynamic type:xTaskResumeAll ();
  483. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  484. Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  485. Function call may change dynamic type:vPortExitCritical ();
  486. Function call may change dynamic type:vPortEnterCritical ();
  487. Function call may change dynamic type:vTaskSuspendAll ();
  488. Function call may change dynamic type:vPortExitCritical ();
  489. Function call may change dynamic type:vPortEnterCritical ();
  490. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  491. Function call may change dynamic type:xTaskResumeAll ();
  492. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  493. Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D));
  494. Function call may change dynamic type:_15 = xTaskResumeAll ();
  495. Function call may change dynamic type:prvUnlockQueue (xQueue_27(D));
  496. Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  497. Determining dynamic type for call: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  498. Starting walk at: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  499. instance pointer: xQueue_13(D) Outer instance pointer: xQueue_13(D) offset: 0 (bits) vtbl reference:
  500. Function call may change dynamic type:vPortValidateInterruptPriority ();
  501. Determining dynamic type for call: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  502. Starting walk at: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  503. instance pointer: pvItemToQueue_14(D) Outer instance pointer: pvItemToQueue_14(D) offset: 0 (bits) vtbl reference:
  504. Function call may change dynamic type:vPortValidateInterruptPriority ();
  505. Determining dynamic type for call: prvUnlockQueue (xQueue_29(D));
  506. Starting walk at: prvUnlockQueue (xQueue_29(D));
  507. instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference:
  508. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  509. Function call may change dynamic type:vPortExitCritical ();
  510. Function call may change dynamic type:vPortEnterCritical ();
  511. Function call may change dynamic type:vTaskSuspendAll ();
  512. Function call may change dynamic type:vPortExitCritical ();
  513. Function call may change dynamic type:vPortEnterCritical ();
  514. Function call may change dynamic type:_3 = xTaskGetSchedulerState ();
  515. Function call may change dynamic type:_17 = xTaskResumeAll ();
  516. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  517. Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  518. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  519. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  520. Function call may change dynamic type:vPortExitCritical ();
  521. Function call may change dynamic type:xTaskResumeAll ();
  522. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  523. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  524. Determining dynamic type for call: _14 = prvIsQueueFull (xQueue_29(D));
  525. Starting walk at: _14 = prvIsQueueFull (xQueue_29(D));
  526. instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference:
  527. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  528. Function call may change dynamic type:vPortExitCritical ();
  529. Function call may change dynamic type:vPortEnterCritical ();
  530. Function call may change dynamic type:vTaskSuspendAll ();
  531. Function call may change dynamic type:vPortExitCritical ();
  532. Function call may change dynamic type:vPortEnterCritical ();
  533. Function call may change dynamic type:_3 = xTaskGetSchedulerState ();
  534. Function call may change dynamic type:_17 = xTaskResumeAll ();
  535. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  536. Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  537. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  538. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  539. Function call may change dynamic type:vPortExitCritical ();
  540. Function call may change dynamic type:xTaskResumeAll ();
  541. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  542. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  543. Determining dynamic type for call: prvUnlockQueue (xQueue_29(D));
  544. Starting walk at: prvUnlockQueue (xQueue_29(D));
  545. instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference:
  546. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  547. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  548. Function call may change dynamic type:vPortExitCritical ();
  549. Function call may change dynamic type:vPortEnterCritical ();
  550. Function call may change dynamic type:vTaskSuspendAll ();
  551. Function call may change dynamic type:vPortExitCritical ();
  552. Function call may change dynamic type:vPortEnterCritical ();
  553. Function call may change dynamic type:_3 = xTaskGetSchedulerState ();
  554. Function call may change dynamic type:_17 = xTaskResumeAll ();
  555. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  556. Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  557. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  558. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  559. Function call may change dynamic type:vPortExitCritical ();
  560. Function call may change dynamic type:xTaskResumeAll ();
  561. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  562. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  563. Determining dynamic type for call: prvUnlockQueue (xQueue_29(D));
  564. Starting walk at: prvUnlockQueue (xQueue_29(D));
  565. instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference:
  566. Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  567. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  568. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  569. Function call may change dynamic type:vPortExitCritical ();
  570. Function call may change dynamic type:vPortEnterCritical ();
  571. Function call may change dynamic type:vTaskSuspendAll ();
  572. Function call may change dynamic type:vPortExitCritical ();
  573. Function call may change dynamic type:vPortEnterCritical ();
  574. Function call may change dynamic type:_3 = xTaskGetSchedulerState ();
  575. Function call may change dynamic type:_17 = xTaskResumeAll ();
  576. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  577. Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  578. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  579. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  580. Function call may change dynamic type:vPortExitCritical ();
  581. Function call may change dynamic type:xTaskResumeAll ();
  582. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  583. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  584. Determining dynamic type for call: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  585. Starting walk at: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  586. instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference:
  587. Function call may change dynamic type:vPortEnterCritical ();
  588. Function call may change dynamic type:_3 = xTaskGetSchedulerState ();
  589. Function call may change dynamic type:_17 = xTaskResumeAll ();
  590. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  591. Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  592. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  593. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  594. Function call may change dynamic type:vPortExitCritical ();
  595. Function call may change dynamic type:vPortEnterCritical ();
  596. Function call may change dynamic type:vTaskSuspendAll ();
  597. Function call may change dynamic type:vPortExitCritical ();
  598. Function call may change dynamic type:vPortEnterCritical ();
  599. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  600. Function call may change dynamic type:xTaskResumeAll ();
  601. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  602. Determining dynamic type for call: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  603. Starting walk at: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  604. instance pointer: pvItemToQueue_30(D) Outer instance pointer: pvItemToQueue_30(D) offset: 0 (bits) vtbl reference:
  605. Function call may change dynamic type:vPortEnterCritical ();
  606. Function call may change dynamic type:_3 = xTaskGetSchedulerState ();
  607. Function call may change dynamic type:_17 = xTaskResumeAll ();
  608. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  609. Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  610. Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D));
  611. Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  612. Function call may change dynamic type:vPortExitCritical ();
  613. Function call may change dynamic type:vPortEnterCritical ();
  614. Function call may change dynamic type:vTaskSuspendAll ();
  615. Function call may change dynamic type:vPortExitCritical ();
  616. Function call may change dynamic type:vPortEnterCritical ();
  617. Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut);
  618. Function call may change dynamic type:xTaskResumeAll ();
  619. Function call may change dynamic type:prvUnlockQueue (xQueue_29(D));
  620. Determining dynamic type for call: xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  621. Starting walk at: xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  622. instance pointer: xMutex_9(D) Outer instance pointer: xMutex_9(D) offset: 0 (bits) vtbl reference:
  623. Function call may change dynamic type:_2 = xTaskGetCurrentTaskHandle ();
  624. Determining dynamic type for call: xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  625. Starting walk at: xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  626. instance pointer: xMutex_7(D) Outer instance pointer: xMutex_7(D) offset: 0 (bits) vtbl reference:
  627. Function call may change dynamic type:_2 = xTaskGetCurrentTaskHandle ();
  628. Determining dynamic type for call: xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  629. Starting walk at: xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  630. instance pointer: 0B Outer instance pointer: 0B offset: 0 (bits) vtbl reference:
  631. Function call may change dynamic type:_2 = xTaskGetCurrentTaskHandle ();
  632. Determining dynamic type for call: prvInitialiseMutex (xNewQueue_4);
  633. Starting walk at: prvInitialiseMutex (xNewQueue_4);
  634. instance pointer: xNewQueue_4 Outer instance pointer: xNewQueue_4 offset: 0 (bits) vtbl reference:
  635. Function call may change dynamic type:xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D));
  636. Determining dynamic type for call: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  637. Starting walk at: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  638. instance pointer: pxNewQueue_2(D) Outer instance pointer: pxNewQueue_2(D) offset: 0 (bits) vtbl reference:
  639. Determining dynamic type for call: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  640. Starting walk at: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  641. instance pointer: 0B Outer instance pointer: 0B offset: 0 (bits) vtbl reference:
  642. Determining dynamic type for call: xQueueGenericReset (pxNewQueue_4(D), 1);
  643. Starting walk at: xQueueGenericReset (pxNewQueue_4(D), 1);
  644. instance pointer: pxNewQueue_4(D) Outer instance pointer: pxNewQueue_4(D) offset: 0 (bits) vtbl reference:
  645. Determining dynamic type for call: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  646. Starting walk at: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  647. instance pointer: pucQueueStorage_11 Outer instance pointer: pucQueueStorage_11 offset: 0 (bits) vtbl reference:
  648. Function call may change dynamic type:pxNewQueue_10 = pvPortMalloc (_4);
  649. Determining dynamic type for call: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  650. Starting walk at: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  651. instance pointer: pxNewQueue_10 Outer instance pointer: pxNewQueue_10 offset: 0 (bits) vtbl reference:
  652. Function call may change dynamic type:pxNewQueue_10 = pvPortMalloc (_4);
  653. Determining dynamic type for call: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  654. Starting walk at: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  655. instance pointer: xQueue_5(D) Outer instance pointer: xQueue_5(D) offset: 0 (bits) vtbl reference:
  656. IPA structures before propagation:
  657. Jump functions:
  658. Jump functions of caller vQueueUnregisterQueue.part.0/114:
  659. Jump functions of caller xQueueGenericReset.part.0/65:
  660. Jump functions of caller vTaskPlaceOnEventListRestricted/62:
  661. Jump functions of caller vPortFree/61:
  662. Jump functions of caller vTaskPriorityDisinheritAfterTimeout/60:
  663. Jump functions of caller xTaskPriorityInherit/59:
  664. Jump functions of caller pvTaskIncrementMutexHeldCount/58:
  665. Jump functions of caller vPortValidateInterruptPriority/57:
  666. Jump functions of caller vTaskMissedYield/56:
  667. Jump functions of caller memcpy/55:
  668. Jump functions of caller xTaskPriorityDisinherit/54:
  669. Jump functions of caller xTaskResumeAll/53:
  670. Jump functions of caller vTaskPlaceOnEventList/52:
  671. Jump functions of caller xTaskCheckForTimeOut/51:
  672. Jump functions of caller vTaskSuspendAll/50:
  673. Jump functions of caller vTaskInternalSetTimeOutState/49:
  674. Jump functions of caller xTaskGetSchedulerState/48:
  675. Jump functions of caller xTaskGetCurrentTaskHandle/47:
  676. Jump functions of caller pvPortMalloc/46:
  677. Jump functions of caller vPortExitCritical/45:
  678. Jump functions of caller vListInitialise/44:
  679. Jump functions of caller xTaskRemoveFromEventList/43:
  680. Jump functions of caller vPortEnterCritical/42:
  681. Jump functions of caller vQueueWaitForMessageRestricted/41:
  682. callsite vQueueWaitForMessageRestricted/41 -> prvUnlockQueue/33 :
  683. param 0: PASS THROUGH: 0, op nop_expr
  684. value: 0x0, mask: 0xffffffff
  685. Unknown VR
  686. Jump functions of caller vQueueUnregisterQueue/40:
  687. callsite vQueueUnregisterQueue/40 -> vQueueUnregisterQueue.part.0/114 :
  688. Jump functions of caller pcQueueGetName/39:
  689. Jump functions of caller vQueueAddToRegistry/38:
  690. Jump functions of caller xQueueIsQueueFullFromISR/37:
  691. Jump functions of caller prvIsQueueFull/36:
  692. Jump functions of caller xQueueIsQueueEmptyFromISR/35:
  693. Jump functions of caller prvIsQueueEmpty/34:
  694. Jump functions of caller prvUnlockQueue/33:
  695. Jump functions of caller prvCopyDataFromQueue/32:
  696. Jump functions of caller prvCopyDataToQueue/31:
  697. Jump functions of caller prvGetDisinheritPriorityAfterTimeout/30:
  698. Jump functions of caller ucQueueGetQueueType/29:
  699. Jump functions of caller vQueueSetQueueNumber/28:
  700. Jump functions of caller uxQueueGetQueueNumber/27:
  701. Jump functions of caller vQueueDelete/26:
  702. callsite vQueueDelete/26 -> vQueueUnregisterQueue/40 :
  703. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  704. value: 0x0, mask: 0xffffffff
  705. Unknown VR
  706. Jump functions of caller uxQueueMessagesWaitingFromISR/25:
  707. Jump functions of caller uxQueueSpacesAvailable/24:
  708. Jump functions of caller uxQueueMessagesWaiting/23:
  709. Jump functions of caller xQueuePeekFromISR/22:
  710. callsite xQueuePeekFromISR/22 -> prvCopyDataFromQueue/32 :
  711. param 0: PASS THROUGH: 0, op nop_expr
  712. value: 0x0, mask: 0xffffffff
  713. Unknown VR
  714. param 1: PASS THROUGH: 1, op nop_expr
  715. value: 0x0, mask: 0xffffffff
  716. Unknown VR
  717. Jump functions of caller xQueueReceiveFromISR/21:
  718. callsite xQueueReceiveFromISR/21 -> prvCopyDataFromQueue/32 :
  719. param 0: PASS THROUGH: 0, op nop_expr
  720. value: 0x0, mask: 0xffffffff
  721. Unknown VR
  722. param 1: PASS THROUGH: 1, op nop_expr
  723. value: 0x0, mask: 0xffffffff
  724. Unknown VR
  725. Jump functions of caller xQueuePeek/20:
  726. callsite xQueuePeek/20 -> prvIsQueueEmpty/34 :
  727. param 0: PASS THROUGH: 0, op nop_expr
  728. value: 0x0, mask: 0xffffffff
  729. Unknown VR
  730. callsite xQueuePeek/20 -> prvUnlockQueue/33 :
  731. param 0: PASS THROUGH: 0, op nop_expr
  732. value: 0x0, mask: 0xffffffff
  733. Unknown VR
  734. callsite xQueuePeek/20 -> prvUnlockQueue/33 :
  735. param 0: PASS THROUGH: 0, op nop_expr
  736. value: 0x0, mask: 0xffffffff
  737. Unknown VR
  738. callsite xQueuePeek/20 -> prvUnlockQueue/33 :
  739. param 0: PASS THROUGH: 0, op nop_expr
  740. value: 0x0, mask: 0xffffffff
  741. Unknown VR
  742. callsite xQueuePeek/20 -> prvIsQueueEmpty/34 :
  743. param 0: PASS THROUGH: 0, op nop_expr
  744. value: 0x0, mask: 0xffffffff
  745. Unknown VR
  746. callsite xQueuePeek/20 -> prvCopyDataFromQueue/32 :
  747. param 0: PASS THROUGH: 0, op nop_expr
  748. value: 0x0, mask: 0xffffffff
  749. Unknown VR
  750. param 1: PASS THROUGH: 1, op nop_expr
  751. value: 0x0, mask: 0xffffffff
  752. Unknown VR
  753. Jump functions of caller xQueueSemaphoreTake/19:
  754. callsite xQueueSemaphoreTake/19 -> prvGetDisinheritPriorityAfterTimeout/30 :
  755. param 0: PASS THROUGH: 0, op nop_expr
  756. value: 0x0, mask: 0xffffffff
  757. Unknown VR
  758. callsite xQueueSemaphoreTake/19 -> prvIsQueueEmpty/34 :
  759. param 0: PASS THROUGH: 0, op nop_expr
  760. value: 0x0, mask: 0xffffffff
  761. Unknown VR
  762. callsite xQueueSemaphoreTake/19 -> prvUnlockQueue/33 :
  763. param 0: PASS THROUGH: 0, op nop_expr
  764. value: 0x0, mask: 0xffffffff
  765. Unknown VR
  766. callsite xQueueSemaphoreTake/19 -> prvUnlockQueue/33 :
  767. param 0: PASS THROUGH: 0, op nop_expr
  768. value: 0x0, mask: 0xffffffff
  769. Unknown VR
  770. callsite xQueueSemaphoreTake/19 -> prvUnlockQueue/33 :
  771. param 0: PASS THROUGH: 0, op nop_expr
  772. value: 0x0, mask: 0xffffffff
  773. Unknown VR
  774. callsite xQueueSemaphoreTake/19 -> prvIsQueueEmpty/34 :
  775. param 0: PASS THROUGH: 0, op nop_expr
  776. value: 0x0, mask: 0xffffffff
  777. Unknown VR
  778. Jump functions of caller xQueueReceive/18:
  779. callsite xQueueReceive/18 -> prvIsQueueEmpty/34 :
  780. param 0: PASS THROUGH: 0, op nop_expr
  781. value: 0x0, mask: 0xffffffff
  782. Unknown VR
  783. callsite xQueueReceive/18 -> prvUnlockQueue/33 :
  784. param 0: PASS THROUGH: 0, op nop_expr
  785. value: 0x0, mask: 0xffffffff
  786. Unknown VR
  787. callsite xQueueReceive/18 -> prvUnlockQueue/33 :
  788. param 0: PASS THROUGH: 0, op nop_expr
  789. value: 0x0, mask: 0xffffffff
  790. Unknown VR
  791. callsite xQueueReceive/18 -> prvUnlockQueue/33 :
  792. param 0: PASS THROUGH: 0, op nop_expr
  793. value: 0x0, mask: 0xffffffff
  794. Unknown VR
  795. callsite xQueueReceive/18 -> prvIsQueueEmpty/34 :
  796. param 0: PASS THROUGH: 0, op nop_expr
  797. value: 0x0, mask: 0xffffffff
  798. Unknown VR
  799. callsite xQueueReceive/18 -> prvCopyDataFromQueue/32 :
  800. param 0: PASS THROUGH: 0, op nop_expr
  801. value: 0x0, mask: 0xffffffff
  802. Unknown VR
  803. param 1: PASS THROUGH: 1, op nop_expr
  804. value: 0x0, mask: 0xffffffff
  805. Unknown VR
  806. Jump functions of caller xQueueGiveFromISR/17:
  807. Jump functions of caller xQueueGenericSendFromISR/16:
  808. callsite xQueueGenericSendFromISR/16 -> prvCopyDataToQueue/31 :
  809. param 0: PASS THROUGH: 0, op nop_expr
  810. value: 0x0, mask: 0xffffffff
  811. Unknown VR
  812. param 1: PASS THROUGH: 1, op nop_expr
  813. value: 0x0, mask: 0xffffffff
  814. Unknown VR
  815. param 2: PASS THROUGH: 3, op nop_expr
  816. value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  817. Unknown VR
  818. Jump functions of caller xQueueGenericSend/15:
  819. callsite xQueueGenericSend/15 -> prvUnlockQueue/33 :
  820. param 0: PASS THROUGH: 0, op nop_expr
  821. value: 0x0, mask: 0xffffffff
  822. Unknown VR
  823. callsite xQueueGenericSend/15 -> prvUnlockQueue/33 :
  824. param 0: PASS THROUGH: 0, op nop_expr
  825. value: 0x0, mask: 0xffffffff
  826. Unknown VR
  827. callsite xQueueGenericSend/15 -> prvUnlockQueue/33 :
  828. param 0: PASS THROUGH: 0, op nop_expr
  829. value: 0x0, mask: 0xffffffff
  830. Unknown VR
  831. callsite xQueueGenericSend/15 -> prvIsQueueFull/36 :
  832. param 0: PASS THROUGH: 0, op nop_expr
  833. value: 0x0, mask: 0xffffffff
  834. Unknown VR
  835. callsite xQueueGenericSend/15 -> prvCopyDataToQueue/31 :
  836. param 0: PASS THROUGH: 0, op nop_expr
  837. value: 0x0, mask: 0xffffffff
  838. Unknown VR
  839. param 1: PASS THROUGH: 1, op nop_expr
  840. value: 0x0, mask: 0xffffffff
  841. Unknown VR
  842. param 2: PASS THROUGH: 3, op nop_expr
  843. value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  844. Unknown VR
  845. Jump functions of caller xQueueCreateCountingSemaphore/14:
  846. callsite xQueueCreateCountingSemaphore/14 -> xQueueGenericCreate/6 :
  847. param 0: PASS THROUGH: 0, op nop_expr
  848. value: 0x0, mask: 0xffffffff
  849. Unknown VR
  850. param 1: CONST: 0
  851. value: 0x0, mask: 0x0
  852. Unknown VR
  853. param 2: CONST: 2
  854. value: 0x2, mask: 0x0
  855. Unknown VR
  856. Jump functions of caller xQueueTakeMutexRecursive/13:
  857. callsite xQueueTakeMutexRecursive/13 -> xQueueSemaphoreTake/19 :
  858. param 0: PASS THROUGH: 0, op nop_expr
  859. value: 0x0, mask: 0xffffffff
  860. Unknown VR
  861. param 1: PASS THROUGH: 1, op nop_expr
  862. value: 0x0, mask: 0xffffffff
  863. Unknown VR
  864. Jump functions of caller xQueueGiveMutexRecursive/12:
  865. callsite xQueueGiveMutexRecursive/12 -> xQueueGenericSend/15 :
  866. param 0: PASS THROUGH: 0, op nop_expr
  867. value: 0x0, mask: 0xffffffff
  868. Unknown VR
  869. param 1: CONST: 0B
  870. value: 0x0, mask: 0xfffffff8
  871. Unknown VR
  872. param 2: CONST: 0
  873. value: 0x0, mask: 0x0
  874. Unknown VR
  875. param 3: CONST: 0
  876. value: 0x0, mask: 0x0
  877. Unknown VR
  878. Jump functions of caller xQueueGetMutexHolderFromISR/11:
  879. Jump functions of caller xQueueGetMutexHolder/10:
  880. Jump functions of caller xQueueCreateMutex/9:
  881. callsite xQueueCreateMutex/9 -> prvInitialiseMutex/8 :
  882. param 0: UNKNOWN
  883. value: 0x0, mask: 0xffffffff
  884. Unknown VR
  885. callsite xQueueCreateMutex/9 -> xQueueGenericCreate/6 :
  886. param 0: CONST: 1
  887. value: 0x1, mask: 0x0
  888. Unknown VR
  889. param 1: CONST: 0
  890. value: 0x0, mask: 0x0
  891. Unknown VR
  892. param 2: PASS THROUGH: 0, op nop_expr
  893. value: 0x0, mask: 0xff
  894. Unknown VR
  895. Jump functions of caller prvInitialiseMutex/8:
  896. callsite prvInitialiseMutex/8 -> xQueueGenericSend/15 :
  897. param 0: PASS THROUGH: 0, op nop_expr
  898. Aggregate passed by reference:
  899. offset: 0, cst: 0B
  900. offset: 64, cst: 0B
  901. offset: 96, cst: 0
  902. value: 0x0, mask: 0xffffffff
  903. Unknown VR
  904. param 1: CONST: 0B
  905. value: 0x0, mask: 0xfffffff8
  906. Unknown VR
  907. param 2: CONST: 0
  908. value: 0x0, mask: 0x0
  909. Unknown VR
  910. param 3: CONST: 0
  911. value: 0x0, mask: 0x0
  912. Unknown VR
  913. Jump functions of caller prvInitialiseNewQueue/7:
  914. callsite prvInitialiseNewQueue/7 -> xQueueGenericReset/5 :
  915. param 0: PASS THROUGH: 4, op nop_expr
  916. value: 0x0, mask: 0xffffffff
  917. Unknown VR
  918. param 1: CONST: 1
  919. value: 0x1, mask: 0x0
  920. Unknown VR
  921. Jump functions of caller xQueueGenericCreate/6:
  922. callsite xQueueGenericCreate/6 -> prvInitialiseNewQueue/7 :
  923. param 0: PASS THROUGH: 0, op nop_expr
  924. value: 0x0, mask: 0xffffffff
  925. Unknown VR
  926. param 1: PASS THROUGH: 1, op nop_expr
  927. value: 0x0, mask: 0xffffffff
  928. Unknown VR
  929. param 2: UNKNOWN
  930. value: 0x0, mask: 0xffffffff
  931. VR ~[0, 0]
  932. param 3: PASS THROUGH: 2, op nop_expr
  933. value: 0x0, mask: 0xff
  934. Unknown VR
  935. param 4: UNKNOWN
  936. value: 0x0, mask: 0xffffffff
  937. Unknown VR
  938. Jump functions of caller xQueueGenericReset/5:
  939. callsite xQueueGenericReset/5 -> xQueueGenericReset.part.0/65 :
  940. param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
  941. value: 0x0, mask: 0xffffffff
  942. Unknown VR
  943. param 1: PASS THROUGH: 1, op nop_expr
  944. value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  945. Unknown VR
  946. Propagating constants:
  947. Not considering vQueueWaitForMessageRestricted for cloning; -fipa-cp-clone disabled.
  948. Not considering vQueueUnregisterQueue for cloning; -fipa-cp-clone disabled.
  949. Not considering pcQueueGetName for cloning; -fipa-cp-clone disabled.
  950. Not considering vQueueAddToRegistry for cloning; -fipa-cp-clone disabled.
  951. Not considering xQueueIsQueueFullFromISR for cloning; -fipa-cp-clone disabled.
  952. Not considering xQueueIsQueueEmptyFromISR for cloning; -fipa-cp-clone disabled.
  953. Not considering ucQueueGetQueueType for cloning; -fipa-cp-clone disabled.
  954. Not considering vQueueSetQueueNumber for cloning; -fipa-cp-clone disabled.
  955. Not considering uxQueueGetQueueNumber for cloning; -fipa-cp-clone disabled.
  956. Not considering vQueueDelete for cloning; -fipa-cp-clone disabled.
  957. Not considering uxQueueMessagesWaitingFromISR for cloning; -fipa-cp-clone disabled.
  958. Not considering uxQueueSpacesAvailable for cloning; -fipa-cp-clone disabled.
  959. Not considering uxQueueMessagesWaiting for cloning; -fipa-cp-clone disabled.
  960. Not considering xQueuePeekFromISR for cloning; -fipa-cp-clone disabled.
  961. Not considering xQueueReceiveFromISR for cloning; -fipa-cp-clone disabled.
  962. Not considering xQueuePeek for cloning; -fipa-cp-clone disabled.
  963. Not considering xQueueSemaphoreTake for cloning; -fipa-cp-clone disabled.
  964. Not considering xQueueReceive for cloning; -fipa-cp-clone disabled.
  965. Not considering xQueueGiveFromISR for cloning; -fipa-cp-clone disabled.
  966. Not considering xQueueGenericSendFromISR for cloning; -fipa-cp-clone disabled.
  967. Not considering xQueueGenericSend for cloning; -fipa-cp-clone disabled.
  968. Not considering xQueueCreateCountingSemaphore for cloning; -fipa-cp-clone disabled.
  969. Not considering xQueueTakeMutexRecursive for cloning; -fipa-cp-clone disabled.
  970. Not considering xQueueGiveMutexRecursive for cloning; -fipa-cp-clone disabled.
  971. Not considering xQueueGetMutexHolderFromISR for cloning; -fipa-cp-clone disabled.
  972. Not considering xQueueGetMutexHolder for cloning; -fipa-cp-clone disabled.
  973. Not considering xQueueCreateMutex for cloning; -fipa-cp-clone disabled.
  974. Not considering xQueueGenericCreate for cloning; -fipa-cp-clone disabled.
  975. Not considering xQueueGenericReset for cloning; -fipa-cp-clone disabled.
  976. overall_size: 1254, max_new_size: 11001
  977. IPA lattices after all propagation:
  978. Lattices:
  979. Node: vQueueUnregisterQueue.part.0/114:
  980. Node: xQueueGenericReset.part.0/65:
  981. param [0]: VARIABLE
  982. ctxs: VARIABLE
  983. Bits unusable (BOTTOM)
  984. VARYING
  985. AGGS VARIABLE
  986. param [1]: VARIABLE
  987. ctxs: VARIABLE
  988. Bits unusable (BOTTOM)
  989. VARYING
  990. AGGS VARIABLE
  991. Node: vQueueWaitForMessageRestricted/41:
  992. param [0]: BOTTOM
  993. ctxs: BOTTOM
  994. Bits unusable (BOTTOM)
  995. VARYING
  996. AGGS BOTTOM
  997. param [1]: BOTTOM
  998. ctxs: BOTTOM
  999. Bits unusable (BOTTOM)
  1000. VARYING
  1001. AGGS BOTTOM
  1002. param [2]: BOTTOM
  1003. ctxs: BOTTOM
  1004. Bits unusable (BOTTOM)
  1005. VARYING
  1006. AGGS BOTTOM
  1007. Node: vQueueUnregisterQueue/40:
  1008. param [0]: BOTTOM
  1009. ctxs: BOTTOM
  1010. Bits unusable (BOTTOM)
  1011. VARYING
  1012. AGGS BOTTOM
  1013. Node: pcQueueGetName/39:
  1014. param [0]: BOTTOM
  1015. ctxs: BOTTOM
  1016. Bits unusable (BOTTOM)
  1017. VARYING
  1018. AGGS BOTTOM
  1019. Node: vQueueAddToRegistry/38:
  1020. param [0]: BOTTOM
  1021. ctxs: BOTTOM
  1022. Bits unusable (BOTTOM)
  1023. VARYING
  1024. AGGS BOTTOM
  1025. param [1]: BOTTOM
  1026. ctxs: BOTTOM
  1027. Bits unusable (BOTTOM)
  1028. VARYING
  1029. AGGS BOTTOM
  1030. Node: xQueueIsQueueFullFromISR/37:
  1031. param [0]: BOTTOM
  1032. ctxs: BOTTOM
  1033. Bits unusable (BOTTOM)
  1034. VARYING
  1035. AGGS BOTTOM
  1036. Node: prvIsQueueFull/36:
  1037. param [0]: VARIABLE
  1038. ctxs: VARIABLE
  1039. Bits unusable (BOTTOM)
  1040. VARYING
  1041. AGGS VARIABLE
  1042. Node: xQueueIsQueueEmptyFromISR/35:
  1043. param [0]: BOTTOM
  1044. ctxs: BOTTOM
  1045. Bits unusable (BOTTOM)
  1046. VARYING
  1047. AGGS BOTTOM
  1048. Node: prvIsQueueEmpty/34:
  1049. param [0]: VARIABLE
  1050. ctxs: VARIABLE
  1051. Bits unusable (BOTTOM)
  1052. VARYING
  1053. AGGS VARIABLE
  1054. Node: prvUnlockQueue/33:
  1055. param [0]: VARIABLE
  1056. ctxs: VARIABLE
  1057. Bits unusable (BOTTOM)
  1058. VARYING
  1059. AGGS VARIABLE
  1060. Node: prvCopyDataFromQueue/32:
  1061. param [0]: VARIABLE
  1062. ctxs: VARIABLE
  1063. Bits unusable (BOTTOM)
  1064. VARYING
  1065. AGGS VARIABLE
  1066. param [1]: VARIABLE
  1067. ctxs: VARIABLE
  1068. Bits unusable (BOTTOM)
  1069. VARYING
  1070. AGGS VARIABLE
  1071. Node: prvCopyDataToQueue/31:
  1072. param [0]: VARIABLE
  1073. ctxs: VARIABLE
  1074. Bits unusable (BOTTOM)
  1075. VARYING
  1076. AGGS VARIABLE
  1077. param [1]: VARIABLE
  1078. ctxs: VARIABLE
  1079. Bits unusable (BOTTOM)
  1080. VARYING
  1081. AGGS VARIABLE
  1082. param [2]: VARIABLE
  1083. ctxs: VARIABLE
  1084. Bits unusable (BOTTOM)
  1085. VARYING
  1086. AGGS VARIABLE
  1087. Node: prvGetDisinheritPriorityAfterTimeout/30:
  1088. param [0]: VARIABLE
  1089. ctxs: VARIABLE
  1090. Bits unusable (BOTTOM)
  1091. VARYING
  1092. AGGS VARIABLE
  1093. Node: ucQueueGetQueueType/29:
  1094. param [0]: BOTTOM
  1095. ctxs: BOTTOM
  1096. Bits unusable (BOTTOM)
  1097. VARYING
  1098. AGGS BOTTOM
  1099. Node: vQueueSetQueueNumber/28:
  1100. param [0]: BOTTOM
  1101. ctxs: BOTTOM
  1102. Bits unusable (BOTTOM)
  1103. VARYING
  1104. AGGS BOTTOM
  1105. param [1]: BOTTOM
  1106. ctxs: BOTTOM
  1107. Bits unusable (BOTTOM)
  1108. VARYING
  1109. AGGS BOTTOM
  1110. Node: uxQueueGetQueueNumber/27:
  1111. param [0]: BOTTOM
  1112. ctxs: BOTTOM
  1113. Bits unusable (BOTTOM)
  1114. VARYING
  1115. AGGS BOTTOM
  1116. Node: vQueueDelete/26:
  1117. param [0]: BOTTOM
  1118. ctxs: BOTTOM
  1119. Bits unusable (BOTTOM)
  1120. VARYING
  1121. AGGS BOTTOM
  1122. Node: uxQueueMessagesWaitingFromISR/25:
  1123. param [0]: BOTTOM
  1124. ctxs: BOTTOM
  1125. Bits unusable (BOTTOM)
  1126. VARYING
  1127. AGGS BOTTOM
  1128. Node: uxQueueSpacesAvailable/24:
  1129. param [0]: BOTTOM
  1130. ctxs: BOTTOM
  1131. Bits unusable (BOTTOM)
  1132. VARYING
  1133. AGGS BOTTOM
  1134. Node: uxQueueMessagesWaiting/23:
  1135. param [0]: BOTTOM
  1136. ctxs: BOTTOM
  1137. Bits unusable (BOTTOM)
  1138. VARYING
  1139. AGGS BOTTOM
  1140. Node: xQueuePeekFromISR/22:
  1141. param [0]: BOTTOM
  1142. ctxs: BOTTOM
  1143. Bits unusable (BOTTOM)
  1144. VARYING
  1145. AGGS BOTTOM
  1146. param [1]: BOTTOM
  1147. ctxs: BOTTOM
  1148. Bits unusable (BOTTOM)
  1149. VARYING
  1150. AGGS BOTTOM
  1151. Node: xQueueReceiveFromISR/21:
  1152. param [0]: BOTTOM
  1153. ctxs: BOTTOM
  1154. Bits unusable (BOTTOM)
  1155. VARYING
  1156. AGGS BOTTOM
  1157. param [1]: BOTTOM
  1158. ctxs: BOTTOM
  1159. Bits unusable (BOTTOM)
  1160. VARYING
  1161. AGGS BOTTOM
  1162. param [2]: BOTTOM
  1163. ctxs: BOTTOM
  1164. Bits unusable (BOTTOM)
  1165. VARYING
  1166. AGGS BOTTOM
  1167. Node: xQueuePeek/20:
  1168. param [0]: BOTTOM
  1169. ctxs: BOTTOM
  1170. Bits unusable (BOTTOM)
  1171. VARYING
  1172. AGGS BOTTOM
  1173. param [1]: BOTTOM
  1174. ctxs: BOTTOM
  1175. Bits unusable (BOTTOM)
  1176. VARYING
  1177. AGGS BOTTOM
  1178. param [2]: BOTTOM
  1179. ctxs: BOTTOM
  1180. Bits unusable (BOTTOM)
  1181. VARYING
  1182. AGGS BOTTOM
  1183. Node: xQueueSemaphoreTake/19:
  1184. param [0]: BOTTOM
  1185. ctxs: BOTTOM
  1186. Bits unusable (BOTTOM)
  1187. VARYING
  1188. AGGS BOTTOM
  1189. param [1]: BOTTOM
  1190. ctxs: BOTTOM
  1191. Bits unusable (BOTTOM)
  1192. VARYING
  1193. AGGS BOTTOM
  1194. Node: xQueueReceive/18:
  1195. param [0]: BOTTOM
  1196. ctxs: BOTTOM
  1197. Bits unusable (BOTTOM)
  1198. VARYING
  1199. AGGS BOTTOM
  1200. param [1]: BOTTOM
  1201. ctxs: BOTTOM
  1202. Bits unusable (BOTTOM)
  1203. VARYING
  1204. AGGS BOTTOM
  1205. param [2]: BOTTOM
  1206. ctxs: BOTTOM
  1207. Bits unusable (BOTTOM)
  1208. VARYING
  1209. AGGS BOTTOM
  1210. Node: xQueueGiveFromISR/17:
  1211. param [0]: BOTTOM
  1212. ctxs: BOTTOM
  1213. Bits unusable (BOTTOM)
  1214. VARYING
  1215. AGGS BOTTOM
  1216. param [1]: BOTTOM
  1217. ctxs: BOTTOM
  1218. Bits unusable (BOTTOM)
  1219. VARYING
  1220. AGGS BOTTOM
  1221. Node: xQueueGenericSendFromISR/16:
  1222. param [0]: BOTTOM
  1223. ctxs: BOTTOM
  1224. Bits unusable (BOTTOM)
  1225. VARYING
  1226. AGGS BOTTOM
  1227. param [1]: BOTTOM
  1228. ctxs: BOTTOM
  1229. Bits unusable (BOTTOM)
  1230. VARYING
  1231. AGGS BOTTOM
  1232. param [2]: BOTTOM
  1233. ctxs: BOTTOM
  1234. Bits unusable (BOTTOM)
  1235. VARYING
  1236. AGGS BOTTOM
  1237. param [3]: BOTTOM
  1238. ctxs: BOTTOM
  1239. Bits unusable (BOTTOM)
  1240. VARYING
  1241. AGGS BOTTOM
  1242. Node: xQueueGenericSend/15:
  1243. param [0]: BOTTOM
  1244. ctxs: BOTTOM
  1245. Bits unusable (BOTTOM)
  1246. VARYING
  1247. AGGS BOTTOM
  1248. param [1]: BOTTOM
  1249. ctxs: BOTTOM
  1250. Bits unusable (BOTTOM)
  1251. VARYING
  1252. AGGS BOTTOM
  1253. param [2]: BOTTOM
  1254. ctxs: BOTTOM
  1255. Bits unusable (BOTTOM)
  1256. VARYING
  1257. AGGS BOTTOM
  1258. param [3]: BOTTOM
  1259. ctxs: BOTTOM
  1260. Bits unusable (BOTTOM)
  1261. VARYING
  1262. AGGS BOTTOM
  1263. Node: xQueueCreateCountingSemaphore/14:
  1264. param [0]: BOTTOM
  1265. ctxs: BOTTOM
  1266. Bits unusable (BOTTOM)
  1267. VARYING
  1268. AGGS BOTTOM
  1269. param [1]: BOTTOM
  1270. ctxs: BOTTOM
  1271. Bits unusable (BOTTOM)
  1272. VARYING
  1273. AGGS BOTTOM
  1274. Node: xQueueTakeMutexRecursive/13:
  1275. param [0]: BOTTOM
  1276. ctxs: BOTTOM
  1277. Bits unusable (BOTTOM)
  1278. VARYING
  1279. AGGS BOTTOM
  1280. param [1]: BOTTOM
  1281. ctxs: BOTTOM
  1282. Bits unusable (BOTTOM)
  1283. VARYING
  1284. AGGS BOTTOM
  1285. Node: xQueueGiveMutexRecursive/12:
  1286. param [0]: BOTTOM
  1287. ctxs: BOTTOM
  1288. Bits unusable (BOTTOM)
  1289. VARYING
  1290. AGGS BOTTOM
  1291. Node: xQueueGetMutexHolderFromISR/11:
  1292. param [0]: BOTTOM
  1293. ctxs: BOTTOM
  1294. Bits unusable (BOTTOM)
  1295. VARYING
  1296. AGGS BOTTOM
  1297. Node: xQueueGetMutexHolder/10:
  1298. param [0]: BOTTOM
  1299. ctxs: BOTTOM
  1300. Bits unusable (BOTTOM)
  1301. VARYING
  1302. AGGS BOTTOM
  1303. Node: xQueueCreateMutex/9:
  1304. param [0]: BOTTOM
  1305. ctxs: BOTTOM
  1306. Bits unusable (BOTTOM)
  1307. VARYING
  1308. AGGS BOTTOM
  1309. Node: prvInitialiseMutex/8:
  1310. param [0]: VARIABLE
  1311. ctxs: VARIABLE
  1312. Bits unusable (BOTTOM)
  1313. VARYING
  1314. AGGS VARIABLE
  1315. Node: prvInitialiseNewQueue/7:
  1316. param [0]: VARIABLE
  1317. ctxs: VARIABLE
  1318. Bits unusable (BOTTOM)
  1319. VARYING
  1320. AGGS VARIABLE
  1321. param [1]: VARIABLE
  1322. ctxs: VARIABLE
  1323. Bits unusable (BOTTOM)
  1324. VARYING
  1325. AGGS VARIABLE
  1326. param [2]: VARIABLE
  1327. ctxs: VARIABLE
  1328. Bits unusable (BOTTOM)
  1329. uint8_t * ~[0B, 0B]
  1330. AGGS VARIABLE
  1331. param [3]: VARIABLE
  1332. ctxs: VARIABLE
  1333. Bits unusable (BOTTOM)
  1334. VARYING
  1335. AGGS VARIABLE
  1336. param [4]: VARIABLE
  1337. ctxs: VARIABLE
  1338. Bits unusable (BOTTOM)
  1339. VARYING
  1340. AGGS VARIABLE
  1341. Node: xQueueGenericCreate/6:
  1342. param [0]: BOTTOM
  1343. ctxs: BOTTOM
  1344. Bits unusable (BOTTOM)
  1345. VARYING
  1346. AGGS BOTTOM
  1347. param [1]: BOTTOM
  1348. ctxs: BOTTOM
  1349. Bits unusable (BOTTOM)
  1350. VARYING
  1351. AGGS BOTTOM
  1352. param [2]: BOTTOM
  1353. ctxs: BOTTOM
  1354. Bits unusable (BOTTOM)
  1355. VARYING
  1356. AGGS BOTTOM
  1357. Node: xQueueGenericReset/5:
  1358. param [0]: BOTTOM
  1359. ctxs: BOTTOM
  1360. Bits unusable (BOTTOM)
  1361. VARYING
  1362. AGGS BOTTOM
  1363. param [1]: BOTTOM
  1364. ctxs: BOTTOM
  1365. Bits unusable (BOTTOM)
  1366. VARYING
  1367. AGGS BOTTOM
  1368. IPA decision stage:
  1369. IPA constant propagation end
  1370. Reclaiming functions:
  1371. Reclaiming variables:
  1372. Clearing address taken flags:
  1373. Symbol table:
  1374. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05df8b60
  1375. Type: function definition analyzed
  1376. Visibility: prevailing_def_ironly artificial
  1377. References:
  1378. Referring:
  1379. Availability: local
  1380. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  1381. Called by: vQueueUnregisterQueue/40 (107374 (estimated locally),0.30 per call)
  1382. Calls:
  1383. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05df82a0
  1384. Type: function definition analyzed
  1385. Visibility: prevailing_def_ironly artificial
  1386. References:
  1387. Referring:
  1388. Availability: local
  1389. Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  1390. Called by: xQueueGenericReset/5 (21218 (estimated locally),0.12 per call)
  1391. Calls: vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) xTaskRemoveFromEventList/43 (237404317 (estimated locally),0.22 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call)
  1392. vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05f9a620
  1393. Type: function
  1394. Visibility: external public
  1395. References:
  1396. Referring:
  1397. Availability: not_available
  1398. Function flags: optimize_size
  1399. Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call)
  1400. Calls:
  1401. vPortFree/61 (vPortFree) @05f79ee0
  1402. Type: function
  1403. Visibility: external public
  1404. References:
  1405. Referring:
  1406. Availability: not_available
  1407. Function flags: optimize_size
  1408. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  1409. Calls:
  1410. vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05f79380
  1411. Type: function
  1412. Visibility: external public
  1413. References:
  1414. Referring:
  1415. Availability: not_available
  1416. Function flags: optimize_size
  1417. Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call)
  1418. Calls:
  1419. xTaskPriorityInherit/59 (xTaskPriorityInherit) @05f792a0
  1420. Type: function
  1421. Visibility: external public
  1422. References:
  1423. Referring:
  1424. Availability: not_available
  1425. Function flags: optimize_size
  1426. Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call)
  1427. Calls:
  1428. pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05f791c0
  1429. Type: function
  1430. Visibility: external public
  1431. References:
  1432. Referring:
  1433. Availability: not_available
  1434. Function flags: optimize_size
  1435. Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call)
  1436. Calls:
  1437. vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05f53620
  1438. Type: function
  1439. Visibility: external public
  1440. References:
  1441. Referring:
  1442. Availability: not_available
  1443. Function flags: optimize_size
  1444. Called by: xQueuePeekFromISR/22 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (141108 (estimated locally),0.39 per call)
  1445. Calls:
  1446. vTaskMissedYield/56 (vTaskMissedYield) @05f532a0
  1447. Type: function
  1448. Visibility: external public
  1449. References:
  1450. Referring:
  1451. Availability: not_available
  1452. Function flags: optimize_size
  1453. Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call)
  1454. Calls:
  1455. memcpy/55 (memcpy) @05f53000
  1456. Type: function
  1457. Visibility: external public
  1458. References:
  1459. Referring:
  1460. Availability: not_available
  1461. Function flags: optimize_size
  1462. Called by: prvCopyDataFromQueue/32 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call)
  1463. Calls:
  1464. xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f058c0
  1465. Type: function
  1466. Visibility: external public
  1467. References:
  1468. Referring:
  1469. Availability: not_available
  1470. Function flags: optimize_size
  1471. Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call)
  1472. Calls:
  1473. xTaskResumeAll/53 (xTaskResumeAll) @05f05e00
  1474. Type: function
  1475. Visibility: external public
  1476. References:
  1477. Referring:
  1478. Availability: not_available
  1479. Function flags: optimize_size
  1480. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  1481. Calls:
  1482. vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f05d20
  1483. Type: function
  1484. Visibility: external public
  1485. References:
  1486. Referring:
  1487. Availability: not_available
  1488. Function flags: optimize_size
  1489. Called by: xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  1490. Calls:
  1491. xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f05c40
  1492. Type: function
  1493. Visibility: external public
  1494. References:
  1495. Referring:
  1496. Availability: not_available
  1497. Function flags: optimize_size
  1498. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  1499. Calls:
  1500. vTaskSuspendAll/50 (vTaskSuspendAll) @05f05b60
  1501. Type: function
  1502. Visibility: external public
  1503. References:
  1504. Referring:
  1505. Availability: not_available
  1506. Function flags: optimize_size
  1507. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  1508. Calls:
  1509. vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f05a80
  1510. Type: function
  1511. Visibility: external public
  1512. References:
  1513. Referring:
  1514. Availability: not_available
  1515. Function flags: optimize_size
  1516. Called by: xQueuePeek/20 (497076 (estimated locally),1.39 per call) xQueueSemaphoreTake/19 (136739 (estimated locally),0.60 per call) xQueueReceive/18 (497076 (estimated locally),1.39 per call) xQueueGenericSend/15 (304339 (estimated locally),0.85 per call)
  1517. Calls:
  1518. xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f059a0
  1519. Type: function
  1520. Visibility: external public
  1521. References:
  1522. Referring:
  1523. Availability: not_available
  1524. Function flags: optimize_size
  1525. Called by: xQueuePeek/20 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (192251 (estimated locally),0.54 per call) xQueueGenericSend/15 (141108 (estimated locally),0.39 per call)
  1526. Calls:
  1527. xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f05460
  1528. Type: function
  1529. Visibility: external public
  1530. References:
  1531. Referring:
  1532. Availability: not_available
  1533. Function flags: optimize_size
  1534. Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call)
  1535. Calls:
  1536. pvPortMalloc/46 (pvPortMalloc) @05ef2000
  1537. Type: function
  1538. Visibility: external public
  1539. References:
  1540. Referring:
  1541. Availability: not_available
  1542. Function flags: optimize_size
  1543. Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call)
  1544. Calls:
  1545. vPortExitCritical/45 (vPortExitCritical) @05ef2d20
  1546. Type: function
  1547. Visibility: external public
  1548. References:
  1549. Referring:
  1550. Availability: not_available
  1551. Function flags: optimize_size
  1552. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (57225 (estimated locally),0.16 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (3186 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (16340 (estimated locally),0.07 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (57225 (estimated locally),0.16 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (26079 (estimated locally),0.07 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863529 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call)
  1553. Calls:
  1554. vListInitialise/44 (vListInitialise) @05ef2c40
  1555. Type: function
  1556. Visibility: external public
  1557. References:
  1558. Referring:
  1559. Availability: not_available
  1560. Function flags: optimize_size
  1561. Called by: xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call) xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call)
  1562. Calls:
  1563. xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05ef2b60
  1564. Type: function
  1565. Visibility: external public
  1566. References:
  1567. Referring:
  1568. Availability: not_available
  1569. Function flags: optimize_size
  1570. Called by: xQueueReceiveFromISR/21 (7118 (estimated locally),0.02 per call) xQueuePeek/20 (19602 (estimated locally),0.05 per call) xQueueSemaphoreTake/19 (5392 (estimated locally),0.02 per call) xQueueReceive/18 (19602 (estimated locally),0.05 per call) xQueueGiveFromISR/17 (4062 (estimated locally),0.01 per call) xQueueGenericSendFromISR/16 (8831 (estimated locally),0.02 per call) xQueueGenericSend/15 (17949 (estimated locally),0.05 per call) xQueueGenericReset.part.0/65 (237404317 (estimated locally),0.22 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call)
  1571. Calls:
  1572. vPortEnterCritical/42 (vPortEnterCritical) @05ef2a80
  1573. Type: function
  1574. Visibility: external public
  1575. References:
  1576. Referring:
  1577. Availability: not_available
  1578. Function flags: optimize_size
  1579. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1622915 (estimated locally),4.53 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (446442 (estimated locally),1.95 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1622915 (estimated locally),4.53 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (1002708 (estimated locally),2.80 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863534 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call)
  1580. Calls:
  1581. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05ef2540
  1582. Type: function definition analyzed
  1583. Visibility: externally_visible public
  1584. References:
  1585. Referring:
  1586. Availability: available
  1587. Function flags: count:1073741824 (estimated locally) body optimize_size
  1588. Called by:
  1589. Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  1590. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05ef22a0
  1591. Type: function definition analyzed
  1592. Visibility: externally_visible public
  1593. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  1594. Referring:
  1595. Availability: available
  1596. Function flags: count:357913 (estimated locally) body optimize_size
  1597. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  1598. Calls: vQueueUnregisterQueue.part.0/114 (107374 (estimated locally),0.30 per call)
  1599. pcQueueGetName/39 (pcQueueGetName) @05eece00
  1600. Type: function definition analyzed
  1601. Visibility: externally_visible public
  1602. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  1603. Referring:
  1604. Availability: available
  1605. Function flags: count:357913 (estimated locally) body optimize_size
  1606. Called by:
  1607. Calls:
  1608. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05eec460
  1609. Type: function definition analyzed
  1610. Visibility: externally_visible public
  1611. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  1612. Referring:
  1613. Availability: available
  1614. Function flags: count:357913 (estimated locally) body optimize_size
  1615. Called by:
  1616. Calls:
  1617. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05eecd20
  1618. Type: function definition analyzed
  1619. Visibility: externally_visible public
  1620. References:
  1621. Referring:
  1622. Availability: available
  1623. Function flags: count:357913 (estimated locally) body optimize_size
  1624. Called by:
  1625. Calls:
  1626. prvIsQueueFull/36 (prvIsQueueFull) @05eec9a0
  1627. Type: function definition analyzed
  1628. Visibility: prevailing_def_ironly
  1629. References:
  1630. Referring:
  1631. Availability: local
  1632. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1633. Called by: xQueueGenericSend/15 (896877 (estimated locally),2.51 per call)
  1634. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  1635. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05eec700
  1636. Type: function definition analyzed
  1637. Visibility: externally_visible public
  1638. References:
  1639. Referring:
  1640. Availability: available
  1641. Function flags: count:357913 (estimated locally) body optimize_size
  1642. Called by:
  1643. Calls:
  1644. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05eec380
  1645. Type: function definition analyzed
  1646. Visibility: prevailing_def_ironly
  1647. References:
  1648. Referring:
  1649. Availability: local
  1650. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1651. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call)
  1652. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  1653. prvUnlockQueue/33 (prvUnlockQueue) @05eec0e0
  1654. Type: function definition analyzed
  1655. Visibility: prevailing_def_ironly
  1656. References:
  1657. Referring:
  1658. Availability: local
  1659. Function flags: count:114863534 (estimated locally) body local optimize_size
  1660. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  1661. Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call)
  1662. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05ee38c0
  1663. Type: function definition analyzed
  1664. Visibility: prevailing_def_ironly
  1665. References:
  1666. Referring:
  1667. Availability: local
  1668. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1669. Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call)
  1670. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  1671. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05ee3380
  1672. Type: function definition analyzed
  1673. Visibility: prevailing_def_ironly
  1674. References:
  1675. Referring:
  1676. Availability: local
  1677. Function flags: count:1073741823 (estimated locally) body local optimize_size
  1678. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  1679. Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call)
  1680. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05ee3e00
  1681. Type: function definition analyzed
  1682. Visibility: prevailing_def_ironly
  1683. References:
  1684. Referring:
  1685. Availability: local
  1686. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1687. Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call)
  1688. Calls:
  1689. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05ee3a80
  1690. Type: function definition analyzed
  1691. Visibility: externally_visible public
  1692. References:
  1693. Referring:
  1694. Availability: available
  1695. Function flags: count:1073741824 (estimated locally) body optimize_size
  1696. Called by:
  1697. Calls:
  1698. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05ee37e0
  1699. Type: function definition analyzed
  1700. Visibility: externally_visible public
  1701. References:
  1702. Referring:
  1703. Availability: available
  1704. Function flags: count:1073741824 (estimated locally) body optimize_size
  1705. Called by:
  1706. Calls:
  1707. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05ee3540
  1708. Type: function definition analyzed
  1709. Visibility: externally_visible public
  1710. References:
  1711. Referring:
  1712. Availability: available
  1713. Function flags: count:1073741824 (estimated locally) body optimize_size
  1714. Called by:
  1715. Calls:
  1716. vQueueDelete/26 (vQueueDelete) @05ee32a0
  1717. Type: function definition analyzed
  1718. Visibility: externally_visible public
  1719. References:
  1720. Referring:
  1721. Availability: available
  1722. Function flags: count:230763 (estimated locally) body optimize_size
  1723. Called by:
  1724. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  1725. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05edad20
  1726. Type: function definition analyzed
  1727. Visibility: externally_visible public
  1728. References:
  1729. Referring:
  1730. Availability: available
  1731. Function flags: count:357913 (estimated locally) body optimize_size
  1732. Called by:
  1733. Calls:
  1734. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05eda0e0
  1735. Type: function definition analyzed
  1736. Visibility: externally_visible public
  1737. References:
  1738. Referring:
  1739. Availability: available
  1740. Function flags: count:230763 (estimated locally) body optimize_size
  1741. Called by:
  1742. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  1743. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05edac40
  1744. Type: function definition analyzed
  1745. Visibility: externally_visible public
  1746. References:
  1747. Referring:
  1748. Availability: available
  1749. Function flags: count:230763 (estimated locally) body optimize_size
  1750. Called by:
  1751. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  1752. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05eda8c0
  1753. Type: function definition analyzed
  1754. Visibility: externally_visible public
  1755. References:
  1756. Referring:
  1757. Availability: available
  1758. Function flags: count:269344 (estimated locally) body optimize_size
  1759. Called by:
  1760. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  1761. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05eda460
  1762. Type: function definition analyzed
  1763. Visibility: externally_visible public
  1764. References:
  1765. Referring:
  1766. Availability: available
  1767. Function flags: count:357913 (estimated locally) body optimize_size
  1768. Called by:
  1769. Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call)
  1770. xQueuePeek/20 (xQueuePeek) @05eda000
  1771. Type: function definition analyzed
  1772. Visibility: externally_visible public
  1773. References:
  1774. Referring:
  1775. Availability: available
  1776. Function flags: count:357913 (estimated locally) body optimize_size
  1777. Called by:
  1778. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  1779. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05ec8c40
  1780. Type: function definition analyzed
  1781. Visibility: externally_visible public
  1782. References:
  1783. Referring:
  1784. Availability: available
  1785. Function flags: count:228942 (estimated locally) body optimize_size
  1786. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  1787. Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call)
  1788. xQueueReceive/18 (xQueueReceive) @05ec8540
  1789. Type: function definition analyzed
  1790. Visibility: externally_visible public
  1791. References:
  1792. Referring:
  1793. Availability: available
  1794. Function flags: count:357913 (estimated locally) body optimize_size
  1795. Called by:
  1796. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  1797. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05e68d20
  1798. Type: function definition analyzed
  1799. Visibility: externally_visible public
  1800. References:
  1801. Referring:
  1802. Availability: available
  1803. Function flags: count:306783 (estimated locally) body optimize_size
  1804. Called by:
  1805. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  1806. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05e68c40
  1807. Type: function definition analyzed
  1808. Visibility: externally_visible public
  1809. References:
  1810. Referring:
  1811. Availability: available
  1812. Function flags: count:357913 (estimated locally) body optimize_size
  1813. Called by:
  1814. Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call)
  1815. xQueueGenericSend/15 (xQueueGenericSend) @05e687e0
  1816. Type: function definition analyzed
  1817. Visibility: externally_visible public
  1818. References:
  1819. Referring:
  1820. Availability: available
  1821. Function flags: count:357913 (estimated locally) body optimize_size
  1822. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  1823. Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call)
  1824. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05e680e0
  1825. Type: function definition analyzed
  1826. Visibility: externally_visible public
  1827. References:
  1828. Referring:
  1829. Availability: available
  1830. Function flags: count:128592 (estimated locally) body optimize_size
  1831. Called by:
  1832. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  1833. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05e609a0
  1834. Type: function definition analyzed
  1835. Visibility: externally_visible public
  1836. References:
  1837. Referring:
  1838. Availability: available
  1839. Function flags: count:230763 (estimated locally) body optimize_size
  1840. Called by:
  1841. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  1842. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05e600e0
  1843. Type: function definition analyzed
  1844. Visibility: externally_visible public
  1845. References:
  1846. Referring:
  1847. Availability: available
  1848. Function flags: count:230763 (estimated locally) body optimize_size
  1849. Called by:
  1850. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  1851. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05e60c40
  1852. Type: function definition analyzed
  1853. Visibility: externally_visible public
  1854. References:
  1855. Referring:
  1856. Availability: available
  1857. Function flags: count:357913 (estimated locally) body optimize_size
  1858. Called by:
  1859. Calls:
  1860. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05e608c0
  1861. Type: function definition analyzed
  1862. Visibility: externally_visible public
  1863. References:
  1864. Referring:
  1865. Availability: available
  1866. Function flags: count:230763 (estimated locally) body optimize_size
  1867. Called by:
  1868. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  1869. xQueueCreateMutex/9 (xQueueCreateMutex) @05e60540
  1870. Type: function definition analyzed
  1871. Visibility: externally_visible public
  1872. References:
  1873. Referring:
  1874. Availability: available
  1875. Function flags: count:1073741824 (estimated locally) body optimize_size
  1876. Called by:
  1877. Calls: prvInitialiseMutex/8 (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  1878. prvInitialiseMutex/8 (prvInitialiseMutex) @05e602a0
  1879. Type: function definition analyzed
  1880. Visibility: prevailing_def_ironly
  1881. References:
  1882. Referring:
  1883. Availability: local
  1884. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1885. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call)
  1886. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  1887. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05e60000
  1888. Type: function definition analyzed
  1889. Visibility: prevailing_def_ironly
  1890. References:
  1891. Referring:
  1892. Availability: local
  1893. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1894. Called by: xQueueGenericCreate/6 (5162 (estimated locally),0.04 per call)
  1895. Calls: xQueueGenericReset/5 (1073741824 (estimated locally),1.00 per call)
  1896. xQueueGenericCreate/6 (xQueueGenericCreate) @05e767e0
  1897. Type: function definition analyzed
  1898. Visibility: externally_visible public
  1899. References:
  1900. Referring:
  1901. Availability: available
  1902. Function flags: count:117029 (estimated locally) body optimize_size
  1903. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  1904. Calls: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  1905. xQueueGenericReset/5 (xQueueGenericReset) @05e76c40
  1906. Type: function definition analyzed
  1907. Visibility: externally_visible public
  1908. References:
  1909. Referring:
  1910. Availability: available
  1911. Function flags: count:183702 (estimated locally) body optimize_size
  1912. Called by: prvInitialiseNewQueue/7 (1073741824 (estimated locally),1.00 per call)
  1913. Calls: xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call)
  1914. xQueueRegistry/4 (xQueueRegistry) @05e71630
  1915. Type: variable definition analyzed
  1916. Visibility: externally_visible public
  1917. References:
  1918. Referring: pcQueueGetName/39 (read)vQueueAddToRegistry/38 (addr)vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)pcQueueGetName/39 (read)vQueueAddToRegistry/38 (read)vQueueUnregisterQueue/40 (read)vQueueUnregisterQueue/40 (write)vQueueUnregisterQueue/40 (write)
  1919. Availability: available
  1920. Varpool flags:
  1921. ;; Function prvIsQueueEmpty (prvIsQueueEmpty, funcdef_no=33, decl_uid=6454, cgraph_uid=34, symbol_order=34)
  1922. Modification phase of node prvIsQueueEmpty/34
  1923. prvIsQueueEmpty (const struct Queue_t * pxQueue)
  1924. {
  1925. BaseType_t xReturn;
  1926. long unsigned int _1;
  1927. <bb 2> [local count: 1073741824]:
  1928. # DEBUG BEGIN_STMT
  1929. # DEBUG BEGIN_STMT
  1930. vPortEnterCritical ();
  1931. # DEBUG BEGIN_STMT
  1932. _1 ={v} pxQueue_5(D)->uxMessagesWaiting;
  1933. if (_1 == 0)
  1934. goto <bb 4>; [50.00%]
  1935. else
  1936. goto <bb 3>; [50.00%]
  1937. <bb 3> [local count: 536870913]:
  1938. # DEBUG BEGIN_STMT
  1939. # DEBUG xReturn => 0
  1940. <bb 4> [local count: 1073741824]:
  1941. # xReturn_2 = PHI <1(2), 0(3)>
  1942. # DEBUG xReturn => xReturn_2
  1943. # DEBUG BEGIN_STMT
  1944. vPortExitCritical ();
  1945. # DEBUG BEGIN_STMT
  1946. return xReturn_2;
  1947. }
  1948. ;; Function prvCopyDataToQueue (prvCopyDataToQueue, funcdef_no=30, decl_uid=6460, cgraph_uid=31, symbol_order=31)
  1949. Modification phase of node prvCopyDataToQueue/31
  1950. prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition)
  1951. {
  1952. UBaseType_t uxMessagesWaiting;
  1953. BaseType_t xReturn;
  1954. long unsigned int _1;
  1955. int8_t * _2;
  1956. struct tskTaskControlBlock * _3;
  1957. int8_t * _4;
  1958. int8_t * _5;
  1959. long unsigned int _6;
  1960. int8_t * _7;
  1961. int8_t * _8;
  1962. int8_t * _9;
  1963. int8_t * _10;
  1964. int8_t * _11;
  1965. long unsigned int _12;
  1966. sizetype _13;
  1967. int8_t * _14;
  1968. int8_t * _15;
  1969. int8_t * _16;
  1970. int8_t * _17;
  1971. long unsigned int _18;
  1972. <bb 2> [local count: 1073741823]:
  1973. # DEBUG BEGIN_STMT
  1974. # DEBUG xReturn => 0
  1975. # DEBUG BEGIN_STMT
  1976. # DEBUG BEGIN_STMT
  1977. uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting;
  1978. # DEBUG uxMessagesWaiting => uxMessagesWaiting_25
  1979. # DEBUG BEGIN_STMT
  1980. _1 = pxQueue_24(D)->uxItemSize;
  1981. if (_1 == 0)
  1982. goto <bb 3>; [50.00%]
  1983. else
  1984. goto <bb 5>; [50.00%]
  1985. <bb 3> [local count: 536870911]:
  1986. # DEBUG BEGIN_STMT
  1987. _2 = pxQueue_24(D)->pcHead;
  1988. if (_2 == 0B)
  1989. goto <bb 4>; [17.43%]
  1990. else
  1991. goto <bb 13>; [82.57%]
  1992. <bb 4> [local count: 93576600]:
  1993. # DEBUG BEGIN_STMT
  1994. _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder;
  1995. xReturn_36 = xTaskPriorityDisinherit (_3);
  1996. # DEBUG xReturn => xReturn_36
  1997. # DEBUG BEGIN_STMT
  1998. pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B;
  1999. goto <bb 13>; [100.00%]
  2000. <bb 5> [local count: 536870911]:
  2001. # DEBUG BEGIN_STMT
  2002. if (xPosition_26(D) == 0)
  2003. goto <bb 6>; [50.00%]
  2004. else
  2005. goto <bb 8>; [50.00%]
  2006. <bb 6> [local count: 268435456]:
  2007. # DEBUG BEGIN_STMT
  2008. _4 = pxQueue_24(D)->pcWriteTo;
  2009. memcpy (_4, pvItemToQueue_27(D), _1);
  2010. # DEBUG BEGIN_STMT
  2011. _5 = pxQueue_24(D)->pcWriteTo;
  2012. _6 = pxQueue_24(D)->uxItemSize;
  2013. _7 = _5 + _6;
  2014. pxQueue_24(D)->pcWriteTo = _7;
  2015. # DEBUG BEGIN_STMT
  2016. _8 = pxQueue_24(D)->u.xQueue.pcTail;
  2017. if (_7 >= _8)
  2018. goto <bb 7>; [50.00%]
  2019. else
  2020. goto <bb 13>; [50.00%]
  2021. <bb 7> [local count: 134217728]:
  2022. # DEBUG BEGIN_STMT
  2023. _9 = pxQueue_24(D)->pcHead;
  2024. pxQueue_24(D)->pcWriteTo = _9;
  2025. goto <bb 13>; [100.00%]
  2026. <bb 8> [local count: 268435456]:
  2027. # DEBUG BEGIN_STMT
  2028. _10 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  2029. memcpy (_10, pvItemToQueue_27(D), _1);
  2030. # DEBUG BEGIN_STMT
  2031. _11 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  2032. _12 = pxQueue_24(D)->uxItemSize;
  2033. _13 = -_12;
  2034. _14 = _11 + _13;
  2035. pxQueue_24(D)->u.xQueue.pcReadFrom = _14;
  2036. # DEBUG BEGIN_STMT
  2037. _15 = pxQueue_24(D)->pcHead;
  2038. if (_14 < _15)
  2039. goto <bb 9>; [50.00%]
  2040. else
  2041. goto <bb 10>; [50.00%]
  2042. <bb 9> [local count: 134217728]:
  2043. # DEBUG BEGIN_STMT
  2044. _16 = pxQueue_24(D)->u.xQueue.pcTail;
  2045. _17 = _16 + _13;
  2046. pxQueue_24(D)->u.xQueue.pcReadFrom = _17;
  2047. <bb 10> [local count: 268435456]:
  2048. # DEBUG BEGIN_STMT
  2049. # DEBUG BEGIN_STMT
  2050. if (xPosition_26(D) == 2)
  2051. goto <bb 11>; [34.00%]
  2052. else
  2053. goto <bb 13>; [66.00%]
  2054. <bb 11> [local count: 91268055]:
  2055. # DEBUG BEGIN_STMT
  2056. if (uxMessagesWaiting_25 != 0)
  2057. goto <bb 12>; [50.00%]
  2058. else
  2059. goto <bb 13>; [50.00%]
  2060. <bb 12> [local count: 45634027]:
  2061. # DEBUG BEGIN_STMT
  2062. uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295;
  2063. # DEBUG uxMessagesWaiting => uxMessagesWaiting_31
  2064. <bb 13> [local count: 1073741824]:
  2065. # xReturn_19 = PHI <xReturn_36(4), 0(7), 0(10), 0(12), 0(3), 0(6), 0(11)>
  2066. # uxMessagesWaiting_20 = PHI <uxMessagesWaiting_25(4), uxMessagesWaiting_25(7), uxMessagesWaiting_25(10), uxMessagesWaiting_31(12), uxMessagesWaiting_25(3), uxMessagesWaiting_25(6), uxMessagesWaiting_25(11)>
  2067. # DEBUG uxMessagesWaiting => uxMessagesWaiting_20
  2068. # DEBUG xReturn => xReturn_19
  2069. # DEBUG BEGIN_STMT
  2070. # DEBUG BEGIN_STMT
  2071. _18 = uxMessagesWaiting_20 + 1;
  2072. pxQueue_24(D)->uxMessagesWaiting ={v} _18;
  2073. # DEBUG BEGIN_STMT
  2074. return xReturn_19;
  2075. }
  2076. ;; Function prvCopyDataFromQueue (prvCopyDataFromQueue, funcdef_no=31, decl_uid=6463, cgraph_uid=32, symbol_order=32)
  2077. Modification phase of node prvCopyDataFromQueue/32
  2078. prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer)
  2079. {
  2080. long unsigned int _1;
  2081. int8_t * _2;
  2082. int8_t * _3;
  2083. int8_t * _4;
  2084. int8_t * _5;
  2085. int8_t * _6;
  2086. <bb 2> [local count: 1073741824]:
  2087. # DEBUG BEGIN_STMT
  2088. _1 = pxQueue_10(D)->uxItemSize;
  2089. if (_1 != 0)
  2090. goto <bb 3>; [50.00%]
  2091. else
  2092. goto <bb 6>; [50.00%]
  2093. <bb 3> [local count: 536870913]:
  2094. # DEBUG BEGIN_STMT
  2095. _2 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  2096. _3 = _2 + _1;
  2097. pxQueue_10(D)->u.xQueue.pcReadFrom = _3;
  2098. # DEBUG BEGIN_STMT
  2099. _4 = pxQueue_10(D)->u.xQueue.pcTail;
  2100. if (_3 >= _4)
  2101. goto <bb 4>; [50.00%]
  2102. else
  2103. goto <bb 5>; [50.00%]
  2104. <bb 4> [local count: 268435456]:
  2105. # DEBUG BEGIN_STMT
  2106. _5 = pxQueue_10(D)->pcHead;
  2107. pxQueue_10(D)->u.xQueue.pcReadFrom = _5;
  2108. <bb 5> [local count: 536870913]:
  2109. # DEBUG BEGIN_STMT
  2110. # DEBUG BEGIN_STMT
  2111. _6 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  2112. memcpy (pvBuffer_13(D), _6, _1);
  2113. <bb 6> [local count: 1073741824]:
  2114. return;
  2115. }
  2116. ;; Function prvUnlockQueue (prvUnlockQueue, funcdef_no=32, decl_uid=6452, cgraph_uid=33, symbol_order=33)
  2117. Modification phase of node prvUnlockQueue/33
  2118. prvUnlockQueue (struct Queue_t * const pxQueue)
  2119. {
  2120. int8_t cRxLock;
  2121. int8_t cTxLock;
  2122. long unsigned int _1;
  2123. struct List_t * _2;
  2124. long int _3;
  2125. unsigned char cTxLock.6_4;
  2126. unsigned char _5;
  2127. long unsigned int _6;
  2128. struct List_t * _7;
  2129. long int _8;
  2130. unsigned char cRxLock.7_9;
  2131. unsigned char _10;
  2132. <bb 2> [local count: 114863534]:
  2133. # DEBUG BEGIN_STMT
  2134. vPortEnterCritical ();
  2135. # DEBUG BEGIN_STMT
  2136. cTxLock_20 ={v} pxQueue_19(D)->cTxLock;
  2137. # DEBUG cTxLock => cTxLock_20
  2138. # DEBUG BEGIN_STMT
  2139. goto <bb 7>; [100.00%]
  2140. <bb 3> [local count: 1014686025]:
  2141. # DEBUG BEGIN_STMT
  2142. _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems;
  2143. if (_1 != 0)
  2144. goto <bb 4>; [94.50%]
  2145. else
  2146. goto <bb 8>; [5.50%]
  2147. <bb 4> [local count: 958878293]:
  2148. # DEBUG BEGIN_STMT
  2149. _2 = &pxQueue_19(D)->xTasksWaitingToReceive;
  2150. _3 = xTaskRemoveFromEventList (_2);
  2151. if (_3 != 0)
  2152. goto <bb 5>; [33.00%]
  2153. else
  2154. goto <bb 6>; [67.00%]
  2155. <bb 5> [local count: 316429836]:
  2156. # DEBUG BEGIN_STMT
  2157. vTaskMissedYield ();
  2158. <bb 6> [local count: 958878293]:
  2159. # DEBUG BEGIN_STMT
  2160. # DEBUG BEGIN_STMT
  2161. cTxLock.6_4 = (unsigned char) cTxLock_11;
  2162. _5 = cTxLock.6_4 + 255;
  2163. cTxLock_23 = (int8_t) _5;
  2164. # DEBUG cTxLock => cTxLock_23
  2165. <bb 7> [local count: 1073741824]:
  2166. # cTxLock_11 = PHI <cTxLock_20(2), cTxLock_23(6)>
  2167. # DEBUG cTxLock => cTxLock_11
  2168. # DEBUG BEGIN_STMT
  2169. if (cTxLock_11 > 0)
  2170. goto <bb 3>; [94.50%]
  2171. else
  2172. goto <bb 8>; [5.50%]
  2173. <bb 8> [local count: 114863532]:
  2174. # DEBUG BEGIN_STMT
  2175. pxQueue_19(D)->cTxLock ={v} -1;
  2176. # DEBUG BEGIN_STMT
  2177. vPortExitCritical ();
  2178. # DEBUG BEGIN_STMT
  2179. vPortEnterCritical ();
  2180. # DEBUG BEGIN_STMT
  2181. cRxLock_27 ={v} pxQueue_19(D)->cRxLock;
  2182. # DEBUG cRxLock => cRxLock_27
  2183. # DEBUG BEGIN_STMT
  2184. goto <bb 13>; [100.00%]
  2185. <bb 9> [local count: 1014686003]:
  2186. # DEBUG BEGIN_STMT
  2187. _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems;
  2188. if (_6 != 0)
  2189. goto <bb 10>; [94.50%]
  2190. else
  2191. goto <bb 14>; [5.50%]
  2192. <bb 10> [local count: 958878272]:
  2193. # DEBUG BEGIN_STMT
  2194. _7 = &pxQueue_19(D)->xTasksWaitingToSend;
  2195. _8 = xTaskRemoveFromEventList (_7);
  2196. if (_8 != 0)
  2197. goto <bb 11>; [33.00%]
  2198. else
  2199. goto <bb 12>; [67.00%]
  2200. <bb 11> [local count: 316429830]:
  2201. # DEBUG BEGIN_STMT
  2202. vTaskMissedYield ();
  2203. <bb 12> [local count: 958878272]:
  2204. # DEBUG BEGIN_STMT
  2205. # DEBUG BEGIN_STMT
  2206. cRxLock.7_9 = (unsigned char) cRxLock_12;
  2207. _10 = cRxLock.7_9 + 255;
  2208. cRxLock_30 = (int8_t) _10;
  2209. # DEBUG cRxLock => cRxLock_30
  2210. <bb 13> [local count: 1073741803]:
  2211. # cRxLock_12 = PHI <cRxLock_27(8), cRxLock_30(12)>
  2212. # DEBUG cRxLock => cRxLock_12
  2213. # DEBUG BEGIN_STMT
  2214. if (cRxLock_12 > 0)
  2215. goto <bb 9>; [94.50%]
  2216. else
  2217. goto <bb 14>; [5.50%]
  2218. <bb 14> [local count: 114863529]:
  2219. # DEBUG BEGIN_STMT
  2220. pxQueue_19(D)->cRxLock ={v} -1;
  2221. # DEBUG BEGIN_STMT
  2222. vPortExitCritical ();
  2223. return;
  2224. }
  2225. ;; Function xQueueGenericReset (xQueueGenericReset, funcdef_no=4, decl_uid=6412, cgraph_uid=5, symbol_order=5)
  2226. Modification phase of node xQueueGenericReset/5
  2227. xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
  2228. {
  2229. BaseType_t D.7333;
  2230. uint32_t ulNewBASEPRI;
  2231. uint32_t ulNewBASEPRI;
  2232. long unsigned int _1;
  2233. __complex__ long unsigned int _2;
  2234. long unsigned int _3;
  2235. long unsigned int _4;
  2236. <bb 2> [local count: 183702]:
  2237. # DEBUG BEGIN_STMT
  2238. # DEBUG xReturn => 1
  2239. # DEBUG BEGIN_STMT
  2240. # DEBUG pxQueue => xQueue_5(D)
  2241. # DEBUG BEGIN_STMT
  2242. if (xQueue_5(D) == 0B)
  2243. goto <bb 3>; [30.00%]
  2244. else
  2245. goto <bb 5>; [70.00%]
  2246. <bb 3> [local count: 55111]:
  2247. # DEBUG BEGIN_STMT
  2248. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2249. # DEBUG BEGIN_STMT
  2250. # DEBUG BEGIN_STMT
  2251. __asm__ __volatile__(" mov %0, %1
  2252. msr basepri, %0
  2253. isb
  2254. dsb
  2255. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  2256. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  2257. <bb 4> [local count: 551107865]:
  2258. # DEBUG ulNewBASEPRI => NULL
  2259. # DEBUG BEGIN_STMT
  2260. # DEBUG BEGIN_STMT
  2261. # DEBUG BEGIN_STMT
  2262. <bb 10> [local count: 551107865]:
  2263. goto <bb 4>; [100.00%]
  2264. <bb 5> [local count: 128592]:
  2265. # DEBUG BEGIN_STMT
  2266. # DEBUG BEGIN_STMT
  2267. _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength;
  2268. if (_1 != 0)
  2269. goto <bb 6>; [50.00%]
  2270. else
  2271. goto <bb 8>; [50.00%]
  2272. <bb 6> [local count: 64296]:
  2273. _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize;
  2274. _2 = .MUL_OVERFLOW (_3, _1);
  2275. _4 = IMAGPART_EXPR <_2>;
  2276. if (_4 == 0)
  2277. goto <bb 7>; [33.00%]
  2278. else
  2279. goto <bb 8>; [67.00%]
  2280. <bb 7> [local count: 21218]:
  2281. _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  2282. return _13;
  2283. <bb 8> [local count: 107374]:
  2284. # DEBUG xReturn => NULL
  2285. # DEBUG BEGIN_STMT
  2286. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2287. # DEBUG BEGIN_STMT
  2288. # DEBUG BEGIN_STMT
  2289. __asm__ __volatile__(" mov %0, %1
  2290. msr basepri, %0
  2291. isb
  2292. dsb
  2293. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  2294. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  2295. <bb 9> [local count: 1073741824]:
  2296. # DEBUG ulNewBASEPRI => NULL
  2297. # DEBUG BEGIN_STMT
  2298. # DEBUG BEGIN_STMT
  2299. # DEBUG BEGIN_STMT
  2300. <bb 11> [local count: 1073741824]:
  2301. goto <bb 9>; [100.00%]
  2302. }
  2303. ;; Function xQueueGenericCreate (xQueueGenericCreate, funcdef_no=5, decl_uid=6392, cgraph_uid=6, symbol_order=6)
  2304. Modification phase of node xQueueGenericCreate/6
  2305. xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)
  2306. {
  2307. uint32_t ulNewBASEPRI;
  2308. uint8_t * pucQueueStorage;
  2309. struct Queue_t * pxNewQueue;
  2310. __complex__ long unsigned int _1;
  2311. long unsigned int _2;
  2312. long unsigned int _3;
  2313. unsigned int _4;
  2314. <bb 2> [local count: 117029]:
  2315. # DEBUG BEGIN_STMT
  2316. # DEBUG pxNewQueue => 0B
  2317. # DEBUG BEGIN_STMT
  2318. # DEBUG BEGIN_STMT
  2319. # DEBUG BEGIN_STMT
  2320. if (uxQueueLength_6(D) != 0)
  2321. goto <bb 3>; [50.00%]
  2322. else
  2323. goto <bb 7>; [50.00%]
  2324. <bb 3> [local count: 58514]:
  2325. _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D));
  2326. _2 = IMAGPART_EXPR <_1>;
  2327. if (_2 == 0)
  2328. goto <bb 4>; [50.00%]
  2329. else
  2330. goto <bb 7>; [50.00%]
  2331. <bb 4> [local count: 29257]:
  2332. _3 = uxQueueLength_6(D) * uxItemSize_7(D);
  2333. if (_3 <= 4294967215)
  2334. goto <bb 5>; [33.00%]
  2335. else
  2336. goto <bb 7>; [67.00%]
  2337. <bb 5> [local count: 9655]:
  2338. # DEBUG BEGIN_STMT
  2339. # DEBUG xQueueSizeInBytes => _3
  2340. # DEBUG BEGIN_STMT
  2341. _4 = _3 + 80;
  2342. pxNewQueue_10 = pvPortMalloc (_4);
  2343. # DEBUG pxNewQueue => pxNewQueue_10
  2344. # DEBUG BEGIN_STMT
  2345. if (pxNewQueue_10 != 0B)
  2346. goto <bb 6>; [53.47%]
  2347. else
  2348. goto <bb 9>; [46.53%]
  2349. <bb 6> [local count: 5162]:
  2350. # DEBUG BEGIN_STMT
  2351. # DEBUG pucQueueStorage => pxNewQueue_10
  2352. # DEBUG BEGIN_STMT
  2353. pucQueueStorage_11 = pxNewQueue_10 + 80;
  2354. # DEBUG pucQueueStorage => pucQueueStorage_11
  2355. # DEBUG BEGIN_STMT
  2356. prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  2357. goto <bb 9>; [100.00%]
  2358. <bb 7> [local count: 107374]:
  2359. # DEBUG BEGIN_STMT
  2360. # DEBUG BEGIN_STMT
  2361. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2362. # DEBUG BEGIN_STMT
  2363. # DEBUG BEGIN_STMT
  2364. __asm__ __volatile__(" mov %0, %1
  2365. msr basepri, %0
  2366. isb
  2367. dsb
  2368. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  2369. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  2370. <bb 8> [local count: 1073741824]:
  2371. # DEBUG ulNewBASEPRI => NULL
  2372. # DEBUG BEGIN_STMT
  2373. # DEBUG BEGIN_STMT
  2374. # DEBUG BEGIN_STMT
  2375. <bb 10> [local count: 1073741824]:
  2376. goto <bb 8>; [100.00%]
  2377. <bb 9> [local count: 9655]:
  2378. # DEBUG pxNewQueue => pxNewQueue_10
  2379. # DEBUG BEGIN_STMT
  2380. # DEBUG BEGIN_STMT
  2381. # DEBUG BEGIN_STMT
  2382. return pxNewQueue_10;
  2383. }
  2384. ;; Function xQueueGetMutexHolder (xQueueGetMutexHolder, funcdef_no=9, decl_uid=6374, cgraph_uid=10, symbol_order=10)
  2385. Modification phase of node xQueueGetMutexHolder/10
  2386. xQueueGetMutexHolder (struct QueueDefinition * xSemaphore)
  2387. {
  2388. uint32_t ulNewBASEPRI;
  2389. struct tskTaskControlBlock * pxReturn;
  2390. int8_t * _1;
  2391. <bb 2> [local count: 230763]:
  2392. # DEBUG BEGIN_STMT
  2393. # DEBUG BEGIN_STMT
  2394. # DEBUG pxSemaphore => xSemaphore_3(D)
  2395. # DEBUG BEGIN_STMT
  2396. if (xSemaphore_3(D) == 0B)
  2397. goto <bb 3>; [46.53%]
  2398. else
  2399. goto <bb 5>; [53.47%]
  2400. <bb 3> [local count: 107374]:
  2401. # DEBUG BEGIN_STMT
  2402. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2403. # DEBUG BEGIN_STMT
  2404. # DEBUG BEGIN_STMT
  2405. __asm__ __volatile__(" mov %0, %1
  2406. msr basepri, %0
  2407. isb
  2408. dsb
  2409. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  2410. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  2411. <bb 4> [local count: 1073741824]:
  2412. # DEBUG ulNewBASEPRI => NULL
  2413. # DEBUG BEGIN_STMT
  2414. # DEBUG BEGIN_STMT
  2415. # DEBUG BEGIN_STMT
  2416. <bb 8> [local count: 1073741824]:
  2417. goto <bb 4>; [100.00%]
  2418. <bb 5> [local count: 123389]:
  2419. # DEBUG BEGIN_STMT
  2420. # DEBUG BEGIN_STMT
  2421. vPortEnterCritical ();
  2422. # DEBUG BEGIN_STMT
  2423. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  2424. if (_1 == 0B)
  2425. goto <bb 6>; [51.20%]
  2426. else
  2427. goto <bb 7>; [48.80%]
  2428. <bb 6> [local count: 63175]:
  2429. # DEBUG BEGIN_STMT
  2430. pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  2431. # DEBUG pxReturn => pxReturn_6
  2432. <bb 7> [local count: 123389]:
  2433. # pxReturn_2 = PHI <pxReturn_6(6), 0B(5)>
  2434. # DEBUG pxReturn => pxReturn_2
  2435. # DEBUG BEGIN_STMT
  2436. vPortExitCritical ();
  2437. # DEBUG BEGIN_STMT
  2438. return pxReturn_2;
  2439. }
  2440. ;; Function xQueueGetMutexHolderFromISR (xQueueGetMutexHolderFromISR, funcdef_no=10, decl_uid=6376, cgraph_uid=11, symbol_order=11)
  2441. Modification phase of node xQueueGetMutexHolderFromISR/11
  2442. xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore)
  2443. {
  2444. uint32_t ulNewBASEPRI;
  2445. struct tskTaskControlBlock * pxReturn;
  2446. int8_t * _1;
  2447. <bb 2> [local count: 357913]:
  2448. # DEBUG BEGIN_STMT
  2449. # DEBUG BEGIN_STMT
  2450. if (xSemaphore_3(D) == 0B)
  2451. goto <bb 3>; [30.00%]
  2452. else
  2453. goto <bb 5>; [70.00%]
  2454. <bb 3> [local count: 107374]:
  2455. # DEBUG BEGIN_STMT
  2456. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2457. # DEBUG BEGIN_STMT
  2458. # DEBUG BEGIN_STMT
  2459. __asm__ __volatile__(" mov %0, %1
  2460. msr basepri, %0
  2461. isb
  2462. dsb
  2463. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  2464. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  2465. <bb 4> [local count: 1073741824]:
  2466. # DEBUG ulNewBASEPRI => NULL
  2467. # DEBUG BEGIN_STMT
  2468. # DEBUG BEGIN_STMT
  2469. # DEBUG BEGIN_STMT
  2470. <bb 8> [local count: 1073741824]:
  2471. goto <bb 4>; [100.00%]
  2472. <bb 5> [local count: 250539]:
  2473. # DEBUG BEGIN_STMT
  2474. # DEBUG BEGIN_STMT
  2475. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  2476. if (_1 == 0B)
  2477. goto <bb 6>; [51.20%]
  2478. else
  2479. goto <bb 7>; [48.80%]
  2480. <bb 6> [local count: 128276]:
  2481. # DEBUG BEGIN_STMT
  2482. pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  2483. # DEBUG pxReturn => pxReturn_5
  2484. <bb 7> [local count: 250539]:
  2485. # pxReturn_2 = PHI <pxReturn_5(6), 0B(5)>
  2486. # DEBUG pxReturn => pxReturn_2
  2487. # DEBUG BEGIN_STMT
  2488. return pxReturn_2;
  2489. }
  2490. ;; Function xQueueCreateCountingSemaphore (xQueueCreateCountingSemaphore, funcdef_no=13, decl_uid=6365, cgraph_uid=14, symbol_order=14)
  2491. Modification phase of node xQueueCreateCountingSemaphore/14
  2492. xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount)
  2493. {
  2494. uint32_t ulNewBASEPRI;
  2495. struct QueueDefinition * xHandle;
  2496. <bb 2> [local count: 128592]:
  2497. # DEBUG BEGIN_STMT
  2498. # DEBUG xHandle => 0B
  2499. # DEBUG BEGIN_STMT
  2500. if (uxMaxCount_2(D) != 0)
  2501. goto <bb 3>; [50.00%]
  2502. else
  2503. goto <bb 6>; [50.00%]
  2504. <bb 3> [local count: 64296]:
  2505. if (uxMaxCount_2(D) >= uxInitialCount_3(D))
  2506. goto <bb 4>; [33.00%]
  2507. else
  2508. goto <bb 6>; [67.00%]
  2509. <bb 4> [local count: 21218]:
  2510. # DEBUG BEGIN_STMT
  2511. xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2);
  2512. # DEBUG xHandle => xHandle_6
  2513. # DEBUG BEGIN_STMT
  2514. if (xHandle_6 != 0B)
  2515. goto <bb 5>; [70.00%]
  2516. else
  2517. goto <bb 8>; [30.00%]
  2518. <bb 5> [local count: 14852]:
  2519. # DEBUG BEGIN_STMT
  2520. MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D);
  2521. # DEBUG BEGIN_STMT
  2522. goto <bb 8>; [100.00%]
  2523. <bb 6> [local count: 107374]:
  2524. # DEBUG BEGIN_STMT
  2525. # DEBUG BEGIN_STMT
  2526. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2527. # DEBUG BEGIN_STMT
  2528. # DEBUG BEGIN_STMT
  2529. __asm__ __volatile__(" mov %0, %1
  2530. msr basepri, %0
  2531. isb
  2532. dsb
  2533. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  2534. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  2535. <bb 7> [local count: 1073741824]:
  2536. # DEBUG ulNewBASEPRI => NULL
  2537. # DEBUG BEGIN_STMT
  2538. # DEBUG BEGIN_STMT
  2539. # DEBUG BEGIN_STMT
  2540. <bb 9> [local count: 1073741824]:
  2541. goto <bb 7>; [100.00%]
  2542. <bb 8> [local count: 21218]:
  2543. # DEBUG xHandle => xHandle_6
  2544. # DEBUG BEGIN_STMT
  2545. # DEBUG BEGIN_STMT
  2546. # DEBUG BEGIN_STMT
  2547. return xHandle_6;
  2548. }
  2549. ;; Function xQueueGenericSend (xQueueGenericSend, funcdef_no=14, decl_uid=6306, cgraph_uid=15, symbol_order=15)
  2550. Modification phase of node xQueueGenericSend/15
  2551. xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
  2552. {
  2553. uint32_t ulNewBASEPRI;
  2554. uint32_t ulNewBASEPRI;
  2555. uint32_t ulNewBASEPRI;
  2556. uint32_t ulNewBASEPRI;
  2557. struct TimeOut_t xTimeOut;
  2558. BaseType_t xYieldRequired;
  2559. BaseType_t xEntryTimeSet;
  2560. long unsigned int _1;
  2561. long unsigned int _2;
  2562. long int _3;
  2563. long unsigned int xTicksToWait.3_4;
  2564. long unsigned int _5;
  2565. long unsigned int _6;
  2566. long unsigned int _7;
  2567. struct List_t * _8;
  2568. long int _9;
  2569. long unsigned int xTicksToWait.4_10;
  2570. signed char _11;
  2571. signed char _12;
  2572. long int _13;
  2573. long int _14;
  2574. struct List_t * _15;
  2575. long unsigned int xTicksToWait.5_16;
  2576. long int _17;
  2577. BaseType_t _21;
  2578. <bb 2> [local count: 357913]:
  2579. # DEBUG BEGIN_STMT
  2580. # DEBUG xEntryTimeSet => 0
  2581. # DEBUG BEGIN_STMT
  2582. # DEBUG BEGIN_STMT
  2583. # DEBUG pxQueue => xQueue_29(D)
  2584. # DEBUG BEGIN_STMT
  2585. if (xQueue_29(D) == 0B)
  2586. goto <bb 3>; [30.00%]
  2587. else
  2588. goto <bb 5>; [70.00%]
  2589. <bb 3> [local count: 107374]:
  2590. # DEBUG BEGIN_STMT
  2591. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2592. # DEBUG BEGIN_STMT
  2593. # DEBUG BEGIN_STMT
  2594. __asm__ __volatile__(" mov %0, %1
  2595. msr basepri, %0
  2596. isb
  2597. dsb
  2598. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  2599. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  2600. <bb 4> [local count: 1073741824]:
  2601. # DEBUG ulNewBASEPRI => NULL
  2602. # DEBUG BEGIN_STMT
  2603. # DEBUG BEGIN_STMT
  2604. # DEBUG BEGIN_STMT
  2605. <bb 42> [local count: 1073741824]:
  2606. goto <bb 4>; [100.00%]
  2607. <bb 5> [local count: 250539]:
  2608. # DEBUG BEGIN_STMT
  2609. # DEBUG BEGIN_STMT
  2610. if (pvItemToQueue_30(D) != 0B)
  2611. goto <bb 9>; [70.00%]
  2612. else
  2613. goto <bb 6>; [30.00%]
  2614. <bb 6> [local count: 75162]:
  2615. _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize;
  2616. if (_1 == 0)
  2617. goto <bb 9>; [50.00%]
  2618. else
  2619. goto <bb 7>; [50.00%]
  2620. <bb 7> [local count: 37581]:
  2621. # DEBUG BEGIN_STMT
  2622. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2623. # DEBUG BEGIN_STMT
  2624. # DEBUG BEGIN_STMT
  2625. __asm__ __volatile__(" mov %0, %1
  2626. msr basepri, %0
  2627. isb
  2628. dsb
  2629. " : "=r" ulNewBASEPRI_68 : "i" 16 : "memory");
  2630. # DEBUG ulNewBASEPRI => ulNewBASEPRI_68
  2631. <bb 8> [local count: 375809639]:
  2632. # DEBUG ulNewBASEPRI => NULL
  2633. # DEBUG BEGIN_STMT
  2634. # DEBUG BEGIN_STMT
  2635. # DEBUG BEGIN_STMT
  2636. <bb 45> [local count: 375809639]:
  2637. goto <bb 8>; [100.00%]
  2638. <bb 9> [local count: 212958]:
  2639. # DEBUG BEGIN_STMT
  2640. # DEBUG BEGIN_STMT
  2641. if (xCopyPosition_32(D) != 2)
  2642. goto <bb 13>; [48.88%]
  2643. else
  2644. goto <bb 10>; [51.12%]
  2645. <bb 10> [local count: 108864]:
  2646. _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  2647. if (_2 == 1)
  2648. goto <bb 13>; [34.00%]
  2649. else
  2650. goto <bb 11>; [66.00%]
  2651. <bb 11> [local count: 71850]:
  2652. # DEBUG BEGIN_STMT
  2653. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2654. # DEBUG BEGIN_STMT
  2655. # DEBUG BEGIN_STMT
  2656. __asm__ __volatile__(" mov %0, %1
  2657. msr basepri, %0
  2658. isb
  2659. dsb
  2660. " : "=r" ulNewBASEPRI_69 : "i" 16 : "memory");
  2661. # DEBUG ulNewBASEPRI => ulNewBASEPRI_69
  2662. <bb 12> [local count: 718505940]:
  2663. # DEBUG ulNewBASEPRI => NULL
  2664. # DEBUG BEGIN_STMT
  2665. # DEBUG BEGIN_STMT
  2666. # DEBUG BEGIN_STMT
  2667. <bb 44> [local count: 718505940]:
  2668. goto <bb 12>; [100.00%]
  2669. <bb 13> [local count: 141108]:
  2670. # DEBUG BEGIN_STMT
  2671. # DEBUG BEGIN_STMT
  2672. _3 = xTaskGetSchedulerState ();
  2673. if (_3 != 0)
  2674. goto <bb 14>; [50.00%]
  2675. else
  2676. goto <bb 15>; [50.00%]
  2677. <bb 14> [local count: 105831]:
  2678. # xEntryTimeSet_36 = PHI <0(13), 0(15)>
  2679. goto <bb 19>; [100.00%]
  2680. <bb 15> [local count: 70554]:
  2681. xTicksToWait.3_4 = xTicksToWait;
  2682. if (xTicksToWait.3_4 == 0)
  2683. goto <bb 14>; [50.00%]
  2684. else
  2685. goto <bb 16>; [50.00%]
  2686. <bb 16> [local count: 35277]:
  2687. # DEBUG BEGIN_STMT
  2688. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2689. # DEBUG BEGIN_STMT
  2690. # DEBUG BEGIN_STMT
  2691. __asm__ __volatile__(" mov %0, %1
  2692. msr basepri, %0
  2693. isb
  2694. dsb
  2695. " : "=r" ulNewBASEPRI_70 : "i" 16 : "memory");
  2696. # DEBUG ulNewBASEPRI => ulNewBASEPRI_70
  2697. <bb 17> [local count: 352770504]:
  2698. # DEBUG ulNewBASEPRI => NULL
  2699. # DEBUG BEGIN_STMT
  2700. # DEBUG BEGIN_STMT
  2701. # DEBUG BEGIN_STMT
  2702. <bb 43> [local count: 352770504]:
  2703. goto <bb 17>; [100.00%]
  2704. <bb 18> [local count: 896877]:
  2705. # xEntryTimeSet_18 = PHI <xEntryTimeSet_20(38), xEntryTimeSet_20(39), xEntryTimeSet_20(37)>
  2706. <bb 19> [local count: 1002708]:
  2707. # xEntryTimeSet_19 = PHI <xEntryTimeSet_36(14), xEntryTimeSet_18(18)>
  2708. # DEBUG xEntryTimeSet => xEntryTimeSet_19
  2709. # DEBUG BEGIN_STMT
  2710. # DEBUG BEGIN_STMT
  2711. # DEBUG BEGIN_STMT
  2712. vPortEnterCritical ();
  2713. # DEBUG BEGIN_STMT
  2714. _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting;
  2715. _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  2716. if (_5 < _6)
  2717. goto <bb 21>; [2.75%]
  2718. else
  2719. goto <bb 20>; [97.25%]
  2720. <bb 20> [local count: 975134]:
  2721. if (xCopyPosition_32(D) == 2)
  2722. goto <bb 21>; [2.75%]
  2723. else
  2724. goto <bb 27>; [97.25%]
  2725. <bb 21> [local count: 54391]:
  2726. # DEBUG BEGIN_STMT
  2727. # DEBUG BEGIN_STMT
  2728. xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  2729. # DEBUG xYieldRequired => xYieldRequired_57
  2730. # DEBUG BEGIN_STMT
  2731. _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems;
  2732. if (_7 != 0)
  2733. goto <bb 22>; [33.00%]
  2734. else
  2735. goto <bb 24>; [67.00%]
  2736. <bb 22> [local count: 17949]:
  2737. # DEBUG BEGIN_STMT
  2738. _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive;
  2739. _9 = xTaskRemoveFromEventList (_8);
  2740. if (_9 != 0)
  2741. goto <bb 23>; [50.00%]
  2742. else
  2743. goto <bb 26>; [50.00%]
  2744. <bb 23> [local count: 8974]:
  2745. # DEBUG BEGIN_STMT
  2746. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2747. # DEBUG BEGIN_STMT
  2748. __asm__ __volatile__("dsb" : : : "memory");
  2749. # DEBUG BEGIN_STMT
  2750. __asm__ __volatile__("isb");
  2751. # DEBUG BEGIN_STMT
  2752. goto <bb 26>; [100.00%]
  2753. <bb 24> [local count: 36442]:
  2754. # DEBUG BEGIN_STMT
  2755. if (xYieldRequired_57 != 0)
  2756. goto <bb 25>; [50.00%]
  2757. else
  2758. goto <bb 26>; [50.00%]
  2759. <bb 25> [local count: 18221]:
  2760. # DEBUG BEGIN_STMT
  2761. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2762. # DEBUG BEGIN_STMT
  2763. __asm__ __volatile__("dsb" : : : "memory");
  2764. # DEBUG BEGIN_STMT
  2765. __asm__ __volatile__("isb");
  2766. # DEBUG BEGIN_STMT
  2767. <bb 26> [local count: 54391]:
  2768. # DEBUG BEGIN_STMT
  2769. # DEBUG BEGIN_STMT
  2770. vPortExitCritical ();
  2771. # DEBUG BEGIN_STMT
  2772. goto <bb 41>; [100.00%]
  2773. <bb 27> [local count: 948318]:
  2774. # DEBUG BEGIN_STMT
  2775. xTicksToWait.4_10 = xTicksToWait;
  2776. if (xTicksToWait.4_10 == 0)
  2777. goto <bb 28>; [2.75%]
  2778. else
  2779. goto <bb 29>; [97.25%]
  2780. <bb 28> [local count: 26079]:
  2781. # DEBUG BEGIN_STMT
  2782. vPortExitCritical ();
  2783. # DEBUG BEGIN_STMT
  2784. # DEBUG BEGIN_STMT
  2785. goto <bb 41>; [100.00%]
  2786. <bb 29> [local count: 922239]:
  2787. # DEBUG BEGIN_STMT
  2788. if (xEntryTimeSet_19 == 0)
  2789. goto <bb 30>; [33.00%]
  2790. else
  2791. goto <bb 31>; [67.00%]
  2792. <bb 30> [local count: 304339]:
  2793. # DEBUG BEGIN_STMT
  2794. vTaskInternalSetTimeOutState (&xTimeOut);
  2795. # DEBUG BEGIN_STMT
  2796. # DEBUG xEntryTimeSet => 1
  2797. <bb 31> [local count: 922239]:
  2798. # xEntryTimeSet_20 = PHI <xEntryTimeSet_19(29), 1(30)>
  2799. # DEBUG xEntryTimeSet => xEntryTimeSet_20
  2800. # DEBUG BEGIN_STMT
  2801. # DEBUG BEGIN_STMT
  2802. vPortExitCritical ();
  2803. # DEBUG BEGIN_STMT
  2804. vTaskSuspendAll ();
  2805. # DEBUG BEGIN_STMT
  2806. vPortEnterCritical ();
  2807. # DEBUG BEGIN_STMT
  2808. _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock;
  2809. if (_11 == -1)
  2810. goto <bb 32>; [34.00%]
  2811. else
  2812. goto <bb 33>; [66.00%]
  2813. <bb 32> [local count: 313561]:
  2814. # DEBUG BEGIN_STMT
  2815. MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0;
  2816. <bb 33> [local count: 922239]:
  2817. # DEBUG BEGIN_STMT
  2818. _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock;
  2819. if (_12 == -1)
  2820. goto <bb 34>; [34.00%]
  2821. else
  2822. goto <bb 35>; [66.00%]
  2823. <bb 34> [local count: 313561]:
  2824. # DEBUG BEGIN_STMT
  2825. MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0;
  2826. <bb 35> [local count: 922239]:
  2827. # DEBUG BEGIN_STMT
  2828. vPortExitCritical ();
  2829. # DEBUG BEGIN_STMT
  2830. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  2831. if (_13 == 0)
  2832. goto <bb 36>; [97.25%]
  2833. else
  2834. goto <bb 40>; [2.75%]
  2835. <bb 36> [local count: 896877]:
  2836. # DEBUG BEGIN_STMT
  2837. _14 = prvIsQueueFull (xQueue_29(D));
  2838. if (_14 != 0)
  2839. goto <bb 37>; [50.00%]
  2840. else
  2841. goto <bb 39>; [50.00%]
  2842. <bb 37> [local count: 448439]:
  2843. # DEBUG BEGIN_STMT
  2844. # DEBUG BEGIN_STMT
  2845. _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend;
  2846. xTicksToWait.5_16 = xTicksToWait;
  2847. vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  2848. # DEBUG BEGIN_STMT
  2849. prvUnlockQueue (xQueue_29(D));
  2850. # DEBUG BEGIN_STMT
  2851. _17 = xTaskResumeAll ();
  2852. if (_17 == 0)
  2853. goto <bb 38>; [50.00%]
  2854. else
  2855. goto <bb 18>; [50.00%]
  2856. <bb 38> [local count: 224219]:
  2857. # DEBUG BEGIN_STMT
  2858. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2859. # DEBUG BEGIN_STMT
  2860. __asm__ __volatile__("dsb" : : : "memory");
  2861. # DEBUG BEGIN_STMT
  2862. __asm__ __volatile__("isb");
  2863. goto <bb 18>; [100.00%]
  2864. <bb 39> [local count: 448439]:
  2865. # DEBUG BEGIN_STMT
  2866. prvUnlockQueue (xQueue_29(D));
  2867. # DEBUG BEGIN_STMT
  2868. xTaskResumeAll ();
  2869. goto <bb 18>; [100.00%]
  2870. <bb 40> [local count: 25362]:
  2871. # DEBUG BEGIN_STMT
  2872. prvUnlockQueue (xQueue_29(D));
  2873. # DEBUG BEGIN_STMT
  2874. xTaskResumeAll ();
  2875. # DEBUG BEGIN_STMT
  2876. # DEBUG BEGIN_STMT
  2877. <bb 41> [local count: 105831]:
  2878. # _21 = PHI <1(26), 0(28), 0(40)>
  2879. xTimeOut ={v} {CLOBBER};
  2880. return _21;
  2881. }
  2882. ;; Function xQueueCreateMutex (xQueueCreateMutex, funcdef_no=8, decl_uid=6359, cgraph_uid=9, symbol_order=9)
  2883. Modification phase of node xQueueCreateMutex/9
  2884. xQueueCreateMutex (const uint8_t ucQueueType)
  2885. {
  2886. struct QueueDefinition * xNewQueue;
  2887. <bb 2> [local count: 1073741824]:
  2888. # DEBUG BEGIN_STMT
  2889. # DEBUG BEGIN_STMT
  2890. # DEBUG uxMutexLength => 1
  2891. # DEBUG uxMutexSize => 0
  2892. # DEBUG BEGIN_STMT
  2893. xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D));
  2894. # DEBUG xNewQueue => xNewQueue_4
  2895. # DEBUG BEGIN_STMT
  2896. prvInitialiseMutex (xNewQueue_4);
  2897. # DEBUG BEGIN_STMT
  2898. return xNewQueue_4;
  2899. }
  2900. ;; Function xQueueGiveMutexRecursive (xQueueGiveMutexRecursive, funcdef_no=11, decl_uid=6381, cgraph_uid=12, symbol_order=12)
  2901. Modification phase of node xQueueGiveMutexRecursive/12
  2902. xQueueGiveMutexRecursive (struct QueueDefinition * xMutex)
  2903. {
  2904. uint32_t ulNewBASEPRI;
  2905. BaseType_t xReturn;
  2906. struct tskTaskControlBlock * _1;
  2907. struct tskTaskControlBlock * _2;
  2908. long unsigned int _3;
  2909. long unsigned int _4;
  2910. <bb 2> [local count: 230763]:
  2911. # DEBUG BEGIN_STMT
  2912. # DEBUG BEGIN_STMT
  2913. # DEBUG pxMutex => xMutex_7(D)
  2914. # DEBUG BEGIN_STMT
  2915. if (xMutex_7(D) == 0B)
  2916. goto <bb 3>; [46.53%]
  2917. else
  2918. goto <bb 5>; [53.47%]
  2919. <bb 3> [local count: 107374]:
  2920. # DEBUG BEGIN_STMT
  2921. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2922. # DEBUG BEGIN_STMT
  2923. # DEBUG BEGIN_STMT
  2924. __asm__ __volatile__(" mov %0, %1
  2925. msr basepri, %0
  2926. isb
  2927. dsb
  2928. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  2929. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  2930. <bb 4> [local count: 1073741824]:
  2931. # DEBUG ulNewBASEPRI => NULL
  2932. # DEBUG BEGIN_STMT
  2933. # DEBUG BEGIN_STMT
  2934. # DEBUG BEGIN_STMT
  2935. <bb 10> [local count: 1073741824]:
  2936. goto <bb 4>; [100.00%]
  2937. <bb 5> [local count: 123389]:
  2938. # DEBUG BEGIN_STMT
  2939. # DEBUG BEGIN_STMT
  2940. _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder;
  2941. _2 = xTaskGetCurrentTaskHandle ();
  2942. if (_1 == _2)
  2943. goto <bb 6>; [30.00%]
  2944. else
  2945. goto <bb 9>; [70.00%]
  2946. <bb 6> [local count: 37017]:
  2947. # DEBUG BEGIN_STMT
  2948. # DEBUG BEGIN_STMT
  2949. _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount;
  2950. _4 = _3 + 4294967295;
  2951. MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  2952. # DEBUG BEGIN_STMT
  2953. if (_4 == 0)
  2954. goto <bb 7>; [33.00%]
  2955. else
  2956. goto <bb 9>; [67.00%]
  2957. <bb 7> [local count: 12216]:
  2958. # DEBUG BEGIN_STMT
  2959. xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  2960. <bb 9> [local count: 123389]:
  2961. # xReturn_5 = PHI <1(7), 0(5), 1(6)>
  2962. # DEBUG xReturn => xReturn_5
  2963. # DEBUG BEGIN_STMT
  2964. # DEBUG BEGIN_STMT
  2965. return xReturn_5;
  2966. }
  2967. ;; Function xQueueGenericSendFromISR (xQueueGenericSendFromISR, funcdef_no=15, decl_uid=6328, cgraph_uid=16, symbol_order=16)
  2968. Modification phase of node xQueueGenericSendFromISR/16
  2969. xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)
  2970. {
  2971. uint32_t ulNewBASEPRI;
  2972. uint32_t ulOriginalBASEPRI;
  2973. uint32_t ulNewBASEPRI;
  2974. uint32_t ulNewBASEPRI;
  2975. uint32_t ulNewBASEPRI;
  2976. uint32_t ulNewBASEPRI;
  2977. const UBaseType_t uxPreviousMessagesWaiting;
  2978. const int8_t cTxLock;
  2979. BaseType_t xReturn;
  2980. long unsigned int _1;
  2981. long unsigned int _2;
  2982. long unsigned int _3;
  2983. long unsigned int _4;
  2984. long unsigned int _5;
  2985. struct List_t * _6;
  2986. long int _7;
  2987. unsigned char cTxLock.10_8;
  2988. unsigned char _9;
  2989. signed char _10;
  2990. <bb 2> [local count: 357913]:
  2991. # DEBUG BEGIN_STMT
  2992. # DEBUG BEGIN_STMT
  2993. # DEBUG BEGIN_STMT
  2994. # DEBUG pxQueue => xQueue_13(D)
  2995. # DEBUG BEGIN_STMT
  2996. if (xQueue_13(D) == 0B)
  2997. goto <bb 3>; [30.00%]
  2998. else
  2999. goto <bb 5>; [70.00%]
  3000. <bb 3> [local count: 107374]:
  3001. # DEBUG BEGIN_STMT
  3002. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3003. # DEBUG BEGIN_STMT
  3004. # DEBUG BEGIN_STMT
  3005. __asm__ __volatile__(" mov %0, %1
  3006. msr basepri, %0
  3007. isb
  3008. dsb
  3009. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  3010. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  3011. <bb 4> [local count: 1073741824]:
  3012. # DEBUG ulNewBASEPRI => NULL
  3013. # DEBUG BEGIN_STMT
  3014. # DEBUG BEGIN_STMT
  3015. # DEBUG BEGIN_STMT
  3016. <bb 26> [local count: 1073741824]:
  3017. goto <bb 4>; [100.00%]
  3018. <bb 5> [local count: 250539]:
  3019. # DEBUG BEGIN_STMT
  3020. # DEBUG BEGIN_STMT
  3021. if (pvItemToQueue_14(D) != 0B)
  3022. goto <bb 9>; [70.00%]
  3023. else
  3024. goto <bb 6>; [30.00%]
  3025. <bb 6> [local count: 75162]:
  3026. _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize;
  3027. if (_1 == 0)
  3028. goto <bb 9>; [50.00%]
  3029. else
  3030. goto <bb 7>; [50.00%]
  3031. <bb 7> [local count: 37581]:
  3032. # DEBUG BEGIN_STMT
  3033. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3034. # DEBUG BEGIN_STMT
  3035. # DEBUG BEGIN_STMT
  3036. __asm__ __volatile__(" mov %0, %1
  3037. msr basepri, %0
  3038. isb
  3039. dsb
  3040. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  3041. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  3042. <bb 8> [local count: 375809639]:
  3043. # DEBUG ulNewBASEPRI => NULL
  3044. # DEBUG BEGIN_STMT
  3045. # DEBUG BEGIN_STMT
  3046. # DEBUG BEGIN_STMT
  3047. <bb 29> [local count: 375809639]:
  3048. goto <bb 8>; [100.00%]
  3049. <bb 9> [local count: 212958]:
  3050. # DEBUG BEGIN_STMT
  3051. # DEBUG BEGIN_STMT
  3052. if (xCopyPosition_16(D) != 2)
  3053. goto <bb 13>; [48.88%]
  3054. else
  3055. goto <bb 10>; [51.12%]
  3056. <bb 10> [local count: 108864]:
  3057. _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  3058. if (_2 == 1)
  3059. goto <bb 13>; [34.00%]
  3060. else
  3061. goto <bb 11>; [66.00%]
  3062. <bb 11> [local count: 71850]:
  3063. # DEBUG BEGIN_STMT
  3064. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3065. # DEBUG BEGIN_STMT
  3066. # DEBUG BEGIN_STMT
  3067. __asm__ __volatile__(" mov %0, %1
  3068. msr basepri, %0
  3069. isb
  3070. dsb
  3071. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  3072. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  3073. <bb 12> [local count: 718505940]:
  3074. # DEBUG ulNewBASEPRI => NULL
  3075. # DEBUG BEGIN_STMT
  3076. # DEBUG BEGIN_STMT
  3077. # DEBUG BEGIN_STMT
  3078. <bb 28> [local count: 718505940]:
  3079. goto <bb 12>; [100.00%]
  3080. <bb 13> [local count: 141108]:
  3081. # DEBUG BEGIN_STMT
  3082. # DEBUG BEGIN_STMT
  3083. vPortValidateInterruptPriority ();
  3084. # DEBUG BEGIN_STMT
  3085. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3086. # DEBUG BEGIN_STMT
  3087. # DEBUG BEGIN_STMT
  3088. __asm__ __volatile__(" mrs %0, basepri
  3089. mov %1, %2
  3090. msr basepri, %1
  3091. isb
  3092. dsb
  3093. " : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  3094. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  3095. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_28
  3096. # DEBUG BEGIN_STMT
  3097. # DEBUG ulNewBASEPRI => NULL
  3098. # DEBUG ulOriginalBASEPRI => NULL
  3099. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_28
  3100. # DEBUG BEGIN_STMT
  3101. _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  3102. _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  3103. if (_3 < _4)
  3104. goto <bb 15>; [33.00%]
  3105. else
  3106. goto <bb 14>; [67.00%]
  3107. <bb 14> [local count: 94542]:
  3108. if (xCopyPosition_16(D) == 2)
  3109. goto <bb 15>; [34.00%]
  3110. else
  3111. goto <bb 25>; [66.00%]
  3112. <bb 15> [local count: 78710]:
  3113. # DEBUG BEGIN_STMT
  3114. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock;
  3115. # DEBUG cTxLock => cTxLock_18
  3116. # DEBUG BEGIN_STMT
  3117. uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  3118. # DEBUG uxPreviousMessagesWaiting => uxPreviousMessagesWaiting_19
  3119. # DEBUG BEGIN_STMT
  3120. # DEBUG BEGIN_STMT
  3121. prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  3122. # DEBUG BEGIN_STMT
  3123. if (cTxLock_18 == -1)
  3124. goto <bb 16>; [34.00%]
  3125. else
  3126. goto <bb 20>; [66.00%]
  3127. <bb 16> [local count: 26761]:
  3128. # DEBUG BEGIN_STMT
  3129. _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems;
  3130. if (_5 != 0)
  3131. goto <bb 17>; [33.00%]
  3132. else
  3133. goto <bb 25>; [67.00%]
  3134. <bb 17> [local count: 8831]:
  3135. # DEBUG BEGIN_STMT
  3136. _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive;
  3137. _7 = xTaskRemoveFromEventList (_6);
  3138. if (_7 != 0)
  3139. goto <bb 18>; [50.00%]
  3140. else
  3141. goto <bb 25>; [50.00%]
  3142. <bb 18> [local count: 4416]:
  3143. # DEBUG BEGIN_STMT
  3144. if (pxHigherPriorityTaskWoken_23(D) != 0B)
  3145. goto <bb 19>; [70.00%]
  3146. else
  3147. goto <bb 25>; [30.00%]
  3148. <bb 19> [local count: 3091]:
  3149. # DEBUG BEGIN_STMT
  3150. *pxHigherPriorityTaskWoken_23(D) = 1;
  3151. goto <bb 25>; [100.00%]
  3152. <bb 20> [local count: 51949]:
  3153. # DEBUG BEGIN_STMT
  3154. if (cTxLock_18 == 127)
  3155. goto <bb 21>; [34.00%]
  3156. else
  3157. goto <bb 23>; [66.00%]
  3158. <bb 21> [local count: 17663]:
  3159. # DEBUG BEGIN_STMT
  3160. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3161. # DEBUG BEGIN_STMT
  3162. # DEBUG BEGIN_STMT
  3163. __asm__ __volatile__(" mov %0, %1
  3164. msr basepri, %0
  3165. isb
  3166. dsb
  3167. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  3168. # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
  3169. <bb 22> [local count: 176625587]:
  3170. # DEBUG ulNewBASEPRI => NULL
  3171. # DEBUG BEGIN_STMT
  3172. # DEBUG BEGIN_STMT
  3173. # DEBUG BEGIN_STMT
  3174. <bb 27> [local count: 176625587]:
  3175. goto <bb 22>; [100.00%]
  3176. <bb 23> [local count: 34286]:
  3177. # DEBUG BEGIN_STMT
  3178. # DEBUG BEGIN_STMT
  3179. cTxLock.10_8 = (unsigned char) cTxLock_18;
  3180. _9 = cTxLock.10_8 + 1;
  3181. _10 = (signed char) _9;
  3182. MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10;
  3183. <bb 25> [local count: 123445]:
  3184. # xReturn_11 = PHI <1(23), 0(14), 1(19), 1(17), 1(18), 1(16)>
  3185. # DEBUG xReturn => xReturn_11
  3186. # DEBUG BEGIN_STMT
  3187. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_28
  3188. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  3189. # DEBUG BEGIN_STMT
  3190. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory");
  3191. # DEBUG ulNewMaskValue => NULL
  3192. # DEBUG BEGIN_STMT
  3193. return xReturn_11;
  3194. }
  3195. ;; Function xQueueGiveFromISR (xQueueGiveFromISR, funcdef_no=16, decl_uid=6331, cgraph_uid=17, symbol_order=17)
  3196. Modification phase of node xQueueGiveFromISR/17
  3197. xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken)
  3198. {
  3199. uint32_t ulNewBASEPRI;
  3200. uint32_t ulOriginalBASEPRI;
  3201. uint32_t ulNewBASEPRI;
  3202. uint32_t ulNewBASEPRI;
  3203. uint32_t ulNewBASEPRI;
  3204. uint32_t ulNewBASEPRI;
  3205. const int8_t cTxLock;
  3206. const UBaseType_t uxMessagesWaiting;
  3207. BaseType_t xReturn;
  3208. long unsigned int _1;
  3209. int8_t * _2;
  3210. struct tskTaskControlBlock * _3;
  3211. long unsigned int _4;
  3212. long unsigned int _5;
  3213. long unsigned int _6;
  3214. struct List_t * _7;
  3215. long int _8;
  3216. unsigned char cTxLock.12_9;
  3217. unsigned char _10;
  3218. signed char _11;
  3219. <bb 2> [local count: 306783]:
  3220. # DEBUG BEGIN_STMT
  3221. # DEBUG BEGIN_STMT
  3222. # DEBUG BEGIN_STMT
  3223. # DEBUG pxQueue => xQueue_14(D)
  3224. # DEBUG BEGIN_STMT
  3225. if (xQueue_14(D) == 0B)
  3226. goto <bb 3>; [30.00%]
  3227. else
  3228. goto <bb 5>; [70.00%]
  3229. <bb 3> [local count: 92035]:
  3230. # DEBUG BEGIN_STMT
  3231. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3232. # DEBUG BEGIN_STMT
  3233. # DEBUG BEGIN_STMT
  3234. __asm__ __volatile__(" mov %0, %1
  3235. msr basepri, %0
  3236. isb
  3237. dsb
  3238. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  3239. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  3240. <bb 4> [local count: 920350133]:
  3241. # DEBUG ulNewBASEPRI => NULL
  3242. # DEBUG BEGIN_STMT
  3243. # DEBUG BEGIN_STMT
  3244. # DEBUG BEGIN_STMT
  3245. <bb 24> [local count: 920350133]:
  3246. goto <bb 4>; [100.00%]
  3247. <bb 5> [local count: 214748]:
  3248. # DEBUG BEGIN_STMT
  3249. # DEBUG BEGIN_STMT
  3250. _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize;
  3251. if (_1 != 0)
  3252. goto <bb 6>; [50.00%]
  3253. else
  3254. goto <bb 8>; [50.00%]
  3255. <bb 6> [local count: 107374]:
  3256. # DEBUG BEGIN_STMT
  3257. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3258. # DEBUG BEGIN_STMT
  3259. # DEBUG BEGIN_STMT
  3260. __asm__ __volatile__(" mov %0, %1
  3261. msr basepri, %0
  3262. isb
  3263. dsb
  3264. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  3265. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  3266. <bb 7> [local count: 1073741823]:
  3267. # DEBUG ulNewBASEPRI => NULL
  3268. # DEBUG BEGIN_STMT
  3269. # DEBUG BEGIN_STMT
  3270. # DEBUG BEGIN_STMT
  3271. <bb 25> [local count: 1073741824]:
  3272. goto <bb 7>; [100.00%]
  3273. <bb 8> [local count: 107374]:
  3274. # DEBUG BEGIN_STMT
  3275. # DEBUG BEGIN_STMT
  3276. _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead;
  3277. if (_2 != 0B)
  3278. goto <bb 12>; [53.47%]
  3279. else
  3280. goto <bb 9>; [46.53%]
  3281. <bb 9> [local count: 49961]:
  3282. _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder;
  3283. if (_3 == 0B)
  3284. goto <bb 12>; [30.00%]
  3285. else
  3286. goto <bb 10>; [70.00%]
  3287. <bb 10> [local count: 34973]:
  3288. # DEBUG BEGIN_STMT
  3289. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3290. # DEBUG BEGIN_STMT
  3291. # DEBUG BEGIN_STMT
  3292. __asm__ __volatile__(" mov %0, %1
  3293. msr basepri, %0
  3294. isb
  3295. dsb
  3296. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  3297. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  3298. <bb 11> [local count: 349728449]:
  3299. # DEBUG ulNewBASEPRI => NULL
  3300. # DEBUG BEGIN_STMT
  3301. # DEBUG BEGIN_STMT
  3302. # DEBUG BEGIN_STMT
  3303. <bb 27> [local count: 349728449]:
  3304. goto <bb 11>; [100.00%]
  3305. <bb 12> [local count: 72401]:
  3306. # DEBUG BEGIN_STMT
  3307. # DEBUG BEGIN_STMT
  3308. vPortValidateInterruptPriority ();
  3309. # DEBUG BEGIN_STMT
  3310. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3311. # DEBUG BEGIN_STMT
  3312. # DEBUG BEGIN_STMT
  3313. __asm__ __volatile__(" mrs %0, basepri
  3314. mov %1, %2
  3315. msr basepri, %1
  3316. isb
  3317. dsb
  3318. " : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  3319. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  3320. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_27
  3321. # DEBUG BEGIN_STMT
  3322. # DEBUG ulNewBASEPRI => NULL
  3323. # DEBUG ulOriginalBASEPRI => NULL
  3324. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_27
  3325. # DEBUG BEGIN_STMT
  3326. uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting;
  3327. # DEBUG uxMessagesWaiting => uxMessagesWaiting_17
  3328. # DEBUG BEGIN_STMT
  3329. _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength;
  3330. if (_4 > uxMessagesWaiting_17)
  3331. goto <bb 13>; [50.00%]
  3332. else
  3333. goto <bb 23>; [50.00%]
  3334. <bb 13> [local count: 36201]:
  3335. # DEBUG BEGIN_STMT
  3336. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock;
  3337. # DEBUG cTxLock => cTxLock_18
  3338. # DEBUG BEGIN_STMT
  3339. # DEBUG BEGIN_STMT
  3340. _5 = uxMessagesWaiting_17 + 1;
  3341. MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5;
  3342. # DEBUG BEGIN_STMT
  3343. if (cTxLock_18 == -1)
  3344. goto <bb 14>; [34.00%]
  3345. else
  3346. goto <bb 18>; [66.00%]
  3347. <bb 14> [local count: 12308]:
  3348. # DEBUG BEGIN_STMT
  3349. _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems;
  3350. if (_6 != 0)
  3351. goto <bb 15>; [33.00%]
  3352. else
  3353. goto <bb 23>; [67.00%]
  3354. <bb 15> [local count: 4062]:
  3355. # DEBUG BEGIN_STMT
  3356. _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive;
  3357. _8 = xTaskRemoveFromEventList (_7);
  3358. if (_8 != 0)
  3359. goto <bb 16>; [50.00%]
  3360. else
  3361. goto <bb 23>; [50.00%]
  3362. <bb 16> [local count: 2031]:
  3363. # DEBUG BEGIN_STMT
  3364. if (pxHigherPriorityTaskWoken_22(D) != 0B)
  3365. goto <bb 17>; [70.00%]
  3366. else
  3367. goto <bb 23>; [30.00%]
  3368. <bb 17> [local count: 1422]:
  3369. # DEBUG BEGIN_STMT
  3370. *pxHigherPriorityTaskWoken_22(D) = 1;
  3371. goto <bb 23>; [100.00%]
  3372. <bb 18> [local count: 23892]:
  3373. # DEBUG BEGIN_STMT
  3374. if (cTxLock_18 == 127)
  3375. goto <bb 19>; [34.00%]
  3376. else
  3377. goto <bb 21>; [66.00%]
  3378. <bb 19> [local count: 8123]:
  3379. # DEBUG BEGIN_STMT
  3380. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3381. # DEBUG BEGIN_STMT
  3382. # DEBUG BEGIN_STMT
  3383. __asm__ __volatile__(" mov %0, %1
  3384. msr basepri, %0
  3385. isb
  3386. dsb
  3387. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  3388. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  3389. <bb 20> [local count: 81234300]:
  3390. # DEBUG ulNewBASEPRI => NULL
  3391. # DEBUG BEGIN_STMT
  3392. # DEBUG BEGIN_STMT
  3393. # DEBUG BEGIN_STMT
  3394. <bb 26> [local count: 81234300]:
  3395. goto <bb 20>; [100.00%]
  3396. <bb 21> [local count: 15769]:
  3397. # DEBUG BEGIN_STMT
  3398. # DEBUG BEGIN_STMT
  3399. cTxLock.12_9 = (unsigned char) cTxLock_18;
  3400. _10 = cTxLock.12_9 + 1;
  3401. _11 = (signed char) _10;
  3402. MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11;
  3403. <bb 23> [local count: 64278]:
  3404. # xReturn_12 = PHI <1(21), 0(12), 1(17), 1(15), 1(16), 1(14)>
  3405. # DEBUG xReturn => xReturn_12
  3406. # DEBUG BEGIN_STMT
  3407. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_27
  3408. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  3409. # DEBUG BEGIN_STMT
  3410. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory");
  3411. # DEBUG ulNewMaskValue => NULL
  3412. # DEBUG BEGIN_STMT
  3413. return xReturn_12;
  3414. }
  3415. ;; Function xQueueReceive (xQueueReceive, funcdef_no=17, decl_uid=6317, cgraph_uid=18, symbol_order=18)
  3416. Modification phase of node xQueueReceive/18
  3417. xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  3418. {
  3419. uint32_t ulNewBASEPRI;
  3420. uint32_t ulNewBASEPRI;
  3421. uint32_t ulNewBASEPRI;
  3422. const UBaseType_t uxMessagesWaiting;
  3423. struct TimeOut_t xTimeOut;
  3424. BaseType_t xEntryTimeSet;
  3425. long unsigned int _1;
  3426. long int _2;
  3427. long unsigned int xTicksToWait.15_3;
  3428. long unsigned int _4;
  3429. long unsigned int _5;
  3430. struct List_t * _6;
  3431. long int _7;
  3432. long unsigned int xTicksToWait.16_8;
  3433. signed char _9;
  3434. signed char _10;
  3435. long int _11;
  3436. long int _12;
  3437. struct List_t * _13;
  3438. long unsigned int xTicksToWait.17_14;
  3439. long int _15;
  3440. long int _16;
  3441. BaseType_t _19;
  3442. <bb 2> [local count: 357913]:
  3443. # DEBUG BEGIN_STMT
  3444. # DEBUG xEntryTimeSet => 0
  3445. # DEBUG BEGIN_STMT
  3446. # DEBUG BEGIN_STMT
  3447. # DEBUG pxQueue => xQueue_27(D)
  3448. # DEBUG BEGIN_STMT
  3449. if (xQueue_27(D) == 0B)
  3450. goto <bb 3>; [30.00%]
  3451. else
  3452. goto <bb 5>; [70.00%]
  3453. <bb 3> [local count: 107374]:
  3454. # DEBUG BEGIN_STMT
  3455. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3456. # DEBUG BEGIN_STMT
  3457. # DEBUG BEGIN_STMT
  3458. __asm__ __volatile__(" mov %0, %1
  3459. msr basepri, %0
  3460. isb
  3461. dsb
  3462. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  3463. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  3464. <bb 4> [local count: 1073741824]:
  3465. # DEBUG ulNewBASEPRI => NULL
  3466. # DEBUG BEGIN_STMT
  3467. # DEBUG BEGIN_STMT
  3468. # DEBUG BEGIN_STMT
  3469. <bb 35> [local count: 1073741824]:
  3470. goto <bb 4>; [100.00%]
  3471. <bb 5> [local count: 250539]:
  3472. # DEBUG BEGIN_STMT
  3473. # DEBUG BEGIN_STMT
  3474. if (pvBuffer_28(D) != 0B)
  3475. goto <bb 9>; [53.47%]
  3476. else
  3477. goto <bb 6>; [46.53%]
  3478. <bb 6> [local count: 116576]:
  3479. _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize;
  3480. if (_1 == 0)
  3481. goto <bb 9>; [50.00%]
  3482. else
  3483. goto <bb 7>; [50.00%]
  3484. <bb 7> [local count: 58288]:
  3485. # DEBUG BEGIN_STMT
  3486. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3487. # DEBUG BEGIN_STMT
  3488. # DEBUG BEGIN_STMT
  3489. __asm__ __volatile__(" mov %0, %1
  3490. msr basepri, %0
  3491. isb
  3492. dsb
  3493. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  3494. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  3495. <bb 8> [local count: 582880751]:
  3496. # DEBUG ulNewBASEPRI => NULL
  3497. # DEBUG BEGIN_STMT
  3498. # DEBUG BEGIN_STMT
  3499. # DEBUG BEGIN_STMT
  3500. <bb 37> [local count: 582880751]:
  3501. goto <bb 8>; [100.00%]
  3502. <bb 9> [local count: 192251]:
  3503. # DEBUG BEGIN_STMT
  3504. # DEBUG BEGIN_STMT
  3505. _2 = xTaskGetSchedulerState ();
  3506. if (_2 != 0)
  3507. goto <bb 10>; [50.00%]
  3508. else
  3509. goto <bb 11>; [50.00%]
  3510. <bb 10> [local count: 144189]:
  3511. # xEntryTimeSet_32 = PHI <0(9), 0(11)>
  3512. goto <bb 15>; [100.00%]
  3513. <bb 11> [local count: 96126]:
  3514. xTicksToWait.15_3 = xTicksToWait;
  3515. if (xTicksToWait.15_3 == 0)
  3516. goto <bb 10>; [50.00%]
  3517. else
  3518. goto <bb 12>; [50.00%]
  3519. <bb 12> [local count: 48063]:
  3520. # DEBUG BEGIN_STMT
  3521. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3522. # DEBUG BEGIN_STMT
  3523. # DEBUG BEGIN_STMT
  3524. __asm__ __volatile__(" mov %0, %1
  3525. msr basepri, %0
  3526. isb
  3527. dsb
  3528. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  3529. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  3530. <bb 13> [local count: 480629211]:
  3531. # DEBUG ulNewBASEPRI => NULL
  3532. # DEBUG BEGIN_STMT
  3533. # DEBUG BEGIN_STMT
  3534. # DEBUG BEGIN_STMT
  3535. <bb 36> [local count: 480629211]:
  3536. goto <bb 13>; [100.00%]
  3537. <bb 14> [local count: 1478726]:
  3538. # xEntryTimeSet_46 = PHI <xEntryTimeSet_18(33), xEntryTimeSet_18(32), xEntryTimeSet_18(31), xEntryTimeSet_18(30)>
  3539. <bb 15> [local count: 1622915]:
  3540. # xEntryTimeSet_17 = PHI <xEntryTimeSet_32(10), xEntryTimeSet_46(14)>
  3541. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  3542. # DEBUG BEGIN_STMT
  3543. # DEBUG BEGIN_STMT
  3544. # DEBUG BEGIN_STMT
  3545. vPortEnterCritical ();
  3546. # DEBUG BEGIN_STMT
  3547. uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting;
  3548. # DEBUG uxMessagesWaiting => uxMessagesWaiting_34
  3549. # DEBUG BEGIN_STMT
  3550. if (uxMessagesWaiting_34 != 0)
  3551. goto <bb 16>; [3.66%]
  3552. else
  3553. goto <bb 20>; [96.34%]
  3554. <bb 16> [local count: 59399]:
  3555. # uxMessagesWaiting_31 = PHI <uxMessagesWaiting_34(15)>
  3556. # DEBUG BEGIN_STMT
  3557. prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  3558. # DEBUG BEGIN_STMT
  3559. # DEBUG BEGIN_STMT
  3560. _4 = uxMessagesWaiting_31 + 4294967295;
  3561. MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4;
  3562. # DEBUG BEGIN_STMT
  3563. _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems;
  3564. if (_5 != 0)
  3565. goto <bb 17>; [33.00%]
  3566. else
  3567. goto <bb 19>; [67.00%]
  3568. <bb 17> [local count: 19602]:
  3569. # DEBUG BEGIN_STMT
  3570. _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend;
  3571. _7 = xTaskRemoveFromEventList (_6);
  3572. if (_7 != 0)
  3573. goto <bb 18>; [50.00%]
  3574. else
  3575. goto <bb 19>; [50.00%]
  3576. <bb 18> [local count: 9801]:
  3577. # DEBUG BEGIN_STMT
  3578. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3579. # DEBUG BEGIN_STMT
  3580. __asm__ __volatile__("dsb" : : : "memory");
  3581. # DEBUG BEGIN_STMT
  3582. __asm__ __volatile__("isb");
  3583. # DEBUG BEGIN_STMT
  3584. <bb 19> [local count: 59399]:
  3585. # DEBUG BEGIN_STMT
  3586. # DEBUG BEGIN_STMT
  3587. vPortExitCritical ();
  3588. # DEBUG BEGIN_STMT
  3589. goto <bb 34>; [100.00%]
  3590. <bb 20> [local count: 1563516]:
  3591. # DEBUG BEGIN_STMT
  3592. xTicksToWait.16_8 = xTicksToWait;
  3593. if (xTicksToWait.16_8 == 0)
  3594. goto <bb 21>; [3.66%]
  3595. else
  3596. goto <bb 22>; [96.34%]
  3597. <bb 21> [local count: 57225]:
  3598. # DEBUG BEGIN_STMT
  3599. vPortExitCritical ();
  3600. # DEBUG BEGIN_STMT
  3601. # DEBUG BEGIN_STMT
  3602. goto <bb 34>; [100.00%]
  3603. <bb 22> [local count: 1506292]:
  3604. # DEBUG BEGIN_STMT
  3605. if (xEntryTimeSet_17 == 0)
  3606. goto <bb 23>; [33.00%]
  3607. else
  3608. goto <bb 24>; [67.00%]
  3609. <bb 23> [local count: 497076]:
  3610. # DEBUG BEGIN_STMT
  3611. vTaskInternalSetTimeOutState (&xTimeOut);
  3612. # DEBUG BEGIN_STMT
  3613. # DEBUG xEntryTimeSet => 1
  3614. <bb 24> [local count: 1506292]:
  3615. # xEntryTimeSet_18 = PHI <xEntryTimeSet_17(22), 1(23)>
  3616. # DEBUG xEntryTimeSet => xEntryTimeSet_18
  3617. # DEBUG BEGIN_STMT
  3618. # DEBUG BEGIN_STMT
  3619. vPortExitCritical ();
  3620. # DEBUG BEGIN_STMT
  3621. vTaskSuspendAll ();
  3622. # DEBUG BEGIN_STMT
  3623. vPortEnterCritical ();
  3624. # DEBUG BEGIN_STMT
  3625. _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock;
  3626. if (_9 == -1)
  3627. goto <bb 25>; [34.00%]
  3628. else
  3629. goto <bb 26>; [66.00%]
  3630. <bb 25> [local count: 512139]:
  3631. # DEBUG BEGIN_STMT
  3632. MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0;
  3633. <bb 26> [local count: 1506292]:
  3634. # DEBUG BEGIN_STMT
  3635. _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock;
  3636. if (_10 == -1)
  3637. goto <bb 27>; [34.00%]
  3638. else
  3639. goto <bb 28>; [66.00%]
  3640. <bb 27> [local count: 512139]:
  3641. # DEBUG BEGIN_STMT
  3642. MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0;
  3643. <bb 28> [local count: 1506292]:
  3644. # DEBUG BEGIN_STMT
  3645. vPortExitCritical ();
  3646. # DEBUG BEGIN_STMT
  3647. _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  3648. if (_11 == 0)
  3649. goto <bb 29>; [50.00%]
  3650. else
  3651. goto <bb 33>; [50.00%]
  3652. <bb 29> [local count: 753146]:
  3653. # DEBUG BEGIN_STMT
  3654. _12 = prvIsQueueEmpty (xQueue_27(D));
  3655. if (_12 != 0)
  3656. goto <bb 30>; [50.00%]
  3657. else
  3658. goto <bb 32>; [50.00%]
  3659. <bb 30> [local count: 376573]:
  3660. # DEBUG BEGIN_STMT
  3661. # DEBUG BEGIN_STMT
  3662. _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive;
  3663. xTicksToWait.17_14 = xTicksToWait;
  3664. vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  3665. # DEBUG BEGIN_STMT
  3666. prvUnlockQueue (xQueue_27(D));
  3667. # DEBUG BEGIN_STMT
  3668. _15 = xTaskResumeAll ();
  3669. if (_15 == 0)
  3670. goto <bb 31>; [50.00%]
  3671. else
  3672. goto <bb 14>; [50.00%]
  3673. <bb 31> [local count: 188286]:
  3674. # DEBUG BEGIN_STMT
  3675. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3676. # DEBUG BEGIN_STMT
  3677. __asm__ __volatile__("dsb" : : : "memory");
  3678. # DEBUG BEGIN_STMT
  3679. __asm__ __volatile__("isb");
  3680. # DEBUG BEGIN_STMT
  3681. goto <bb 14>; [100.00%]
  3682. <bb 32> [local count: 376573]:
  3683. # DEBUG BEGIN_STMT
  3684. prvUnlockQueue (xQueue_27(D));
  3685. # DEBUG BEGIN_STMT
  3686. xTaskResumeAll ();
  3687. goto <bb 14>; [100.00%]
  3688. <bb 33> [local count: 753146]:
  3689. # DEBUG BEGIN_STMT
  3690. prvUnlockQueue (xQueue_27(D));
  3691. # DEBUG BEGIN_STMT
  3692. xTaskResumeAll ();
  3693. # DEBUG BEGIN_STMT
  3694. _16 = prvIsQueueEmpty (xQueue_27(D));
  3695. if (_16 != 0)
  3696. goto <bb 34>; [3.66%]
  3697. else
  3698. goto <bb 14>; [96.34%]
  3699. <bb 34> [local count: 144189]:
  3700. # _19 = PHI <1(19), 0(21), 0(33)>
  3701. xTimeOut ={v} {CLOBBER};
  3702. return _19;
  3703. }
  3704. ;; Function xQueueSemaphoreTake (xQueueSemaphoreTake, funcdef_no=18, decl_uid=6372, cgraph_uid=19, symbol_order=19)
  3705. Modification phase of node xQueueSemaphoreTake/19
  3706. xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait)
  3707. {
  3708. uint32_t ulNewBASEPRI;
  3709. uint32_t ulNewBASEPRI;
  3710. uint32_t ulNewBASEPRI;
  3711. uint32_t ulNewBASEPRI;
  3712. UBaseType_t uxHighestWaitingPriority;
  3713. const UBaseType_t uxSemaphoreCount;
  3714. BaseType_t xInheritanceOccurred;
  3715. struct TimeOut_t xTimeOut;
  3716. BaseType_t xEntryTimeSet;
  3717. long unsigned int _1;
  3718. long int _2;
  3719. long unsigned int xTicksToWait.19_3;
  3720. long unsigned int _4;
  3721. int8_t * _5;
  3722. struct tskTaskControlBlock * _6;
  3723. long unsigned int _7;
  3724. struct List_t * _8;
  3725. long int _9;
  3726. long unsigned int xTicksToWait.20_10;
  3727. signed char _11;
  3728. signed char _12;
  3729. long int _13;
  3730. long int _14;
  3731. int8_t * _15;
  3732. struct tskTaskControlBlock * _16;
  3733. struct List_t * _17;
  3734. long unsigned int xTicksToWait.21_18;
  3735. long int _19;
  3736. long int _20;
  3737. struct tskTaskControlBlock * _21;
  3738. BaseType_t _27;
  3739. <bb 2> [local count: 228942]:
  3740. # DEBUG BEGIN_STMT
  3741. # DEBUG xEntryTimeSet => 0
  3742. # DEBUG BEGIN_STMT
  3743. # DEBUG BEGIN_STMT
  3744. # DEBUG pxQueue => xQueue_38(D)
  3745. # DEBUG BEGIN_STMT
  3746. # DEBUG xInheritanceOccurred => 0
  3747. # DEBUG BEGIN_STMT
  3748. if (xQueue_38(D) == 0B)
  3749. goto <bb 3>; [30.00%]
  3750. else
  3751. goto <bb 5>; [70.00%]
  3752. <bb 3> [local count: 68683]:
  3753. # DEBUG BEGIN_STMT
  3754. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3755. # DEBUG BEGIN_STMT
  3756. # DEBUG BEGIN_STMT
  3757. __asm__ __volatile__(" mov %0, %1
  3758. msr basepri, %0
  3759. isb
  3760. dsb
  3761. " : "=r" ulNewBASEPRI_88 : "i" 16 : "memory");
  3762. # DEBUG ulNewBASEPRI => ulNewBASEPRI_88
  3763. <bb 4> [local count: 686828460]:
  3764. # DEBUG ulNewBASEPRI => NULL
  3765. # DEBUG BEGIN_STMT
  3766. # DEBUG BEGIN_STMT
  3767. # DEBUG BEGIN_STMT
  3768. <bb 44> [local count: 686828460]:
  3769. goto <bb 4>; [100.00%]
  3770. <bb 5> [local count: 160260]:
  3771. # DEBUG BEGIN_STMT
  3772. # DEBUG BEGIN_STMT
  3773. _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize;
  3774. if (_1 != 0)
  3775. goto <bb 6>; [67.00%]
  3776. else
  3777. goto <bb 8>; [33.00%]
  3778. <bb 6> [local count: 107374]:
  3779. # DEBUG BEGIN_STMT
  3780. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3781. # DEBUG BEGIN_STMT
  3782. # DEBUG BEGIN_STMT
  3783. __asm__ __volatile__(" mov %0, %1
  3784. msr basepri, %0
  3785. isb
  3786. dsb
  3787. " : "=r" ulNewBASEPRI_89 : "i" 16 : "memory");
  3788. # DEBUG ulNewBASEPRI => ulNewBASEPRI_89
  3789. <bb 7> [local count: 1073741824]:
  3790. # DEBUG ulNewBASEPRI => NULL
  3791. # DEBUG BEGIN_STMT
  3792. # DEBUG BEGIN_STMT
  3793. # DEBUG BEGIN_STMT
  3794. <bb 45> [local count: 1073741824]:
  3795. goto <bb 7>; [100.00%]
  3796. <bb 8> [local count: 52886]:
  3797. # DEBUG BEGIN_STMT
  3798. # DEBUG BEGIN_STMT
  3799. _2 = xTaskGetSchedulerState ();
  3800. if (_2 != 0)
  3801. goto <bb 10>; [50.00%]
  3802. else
  3803. goto <bb 9>; [50.00%]
  3804. <bb 9> [local count: 26443]:
  3805. xTicksToWait.19_3 = xTicksToWait;
  3806. if (xTicksToWait.19_3 == 0)
  3807. goto <bb 10>; [50.00%]
  3808. else
  3809. goto <bb 11>; [50.00%]
  3810. <bb 10> [local count: 39664]:
  3811. # xEntryTimeSet_40 = PHI <0(9), 0(8)>
  3812. # xInheritanceOccurred_64 = PHI <0(9), 0(8)>
  3813. goto <bb 14>; [100.00%]
  3814. <bb 11> [local count: 13221]:
  3815. # DEBUG BEGIN_STMT
  3816. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3817. # DEBUG BEGIN_STMT
  3818. # DEBUG BEGIN_STMT
  3819. __asm__ __volatile__(" mov %0, %1
  3820. msr basepri, %0
  3821. isb
  3822. dsb
  3823. " : "=r" ulNewBASEPRI_90 : "i" 16 : "memory");
  3824. # DEBUG ulNewBASEPRI => ulNewBASEPRI_90
  3825. <bb 12> [local count: 132214478]:
  3826. # DEBUG ulNewBASEPRI => NULL
  3827. # DEBUG BEGIN_STMT
  3828. # DEBUG BEGIN_STMT
  3829. # DEBUG BEGIN_STMT
  3830. <bb 47> [local count: 132214478]:
  3831. goto <bb 12>; [100.00%]
  3832. <bb 13> [local count: 406777]:
  3833. # xEntryTimeSet_48 = PHI <xEntryTimeSet_23(39), xEntryTimeSet_23(38), xEntryTimeSet_23(37), xEntryTimeSet_23(36)>
  3834. # xInheritanceOccurred_39 = PHI <xInheritanceOccurred_24(39), xInheritanceOccurred_24(38), xInheritanceOccurred_25(37), xInheritanceOccurred_25(36)>
  3835. <bb 14> [local count: 446442]:
  3836. # xEntryTimeSet_22 = PHI <xEntryTimeSet_40(10), xEntryTimeSet_48(13)>
  3837. # xInheritanceOccurred_24 = PHI <xInheritanceOccurred_64(10), xInheritanceOccurred_39(13)>
  3838. # DEBUG xInheritanceOccurred => xInheritanceOccurred_24
  3839. # DEBUG xEntryTimeSet => xEntryTimeSet_22
  3840. # DEBUG BEGIN_STMT
  3841. # DEBUG BEGIN_STMT
  3842. # DEBUG BEGIN_STMT
  3843. vPortEnterCritical ();
  3844. # DEBUG BEGIN_STMT
  3845. uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting;
  3846. # DEBUG uxSemaphoreCount => uxSemaphoreCount_46
  3847. # DEBUG BEGIN_STMT
  3848. if (uxSemaphoreCount_46 != 0)
  3849. goto <bb 15>; [3.66%]
  3850. else
  3851. goto <bb 21>; [96.34%]
  3852. <bb 15> [local count: 16340]:
  3853. # uxSemaphoreCount_26 = PHI <uxSemaphoreCount_46(14)>
  3854. # DEBUG BEGIN_STMT
  3855. # DEBUG BEGIN_STMT
  3856. _4 = uxSemaphoreCount_26 + 4294967295;
  3857. MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4;
  3858. # DEBUG BEGIN_STMT
  3859. _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  3860. if (_5 == 0B)
  3861. goto <bb 16>; [17.43%]
  3862. else
  3863. goto <bb 17>; [82.57%]
  3864. <bb 16> [local count: 2848]:
  3865. # DEBUG BEGIN_STMT
  3866. _6 = pvTaskIncrementMutexHeldCount ();
  3867. MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6;
  3868. <bb 17> [local count: 16340]:
  3869. # DEBUG BEGIN_STMT
  3870. # DEBUG BEGIN_STMT
  3871. _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems;
  3872. if (_7 != 0)
  3873. goto <bb 18>; [33.00%]
  3874. else
  3875. goto <bb 20>; [67.00%]
  3876. <bb 18> [local count: 5392]:
  3877. # DEBUG BEGIN_STMT
  3878. _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend;
  3879. _9 = xTaskRemoveFromEventList (_8);
  3880. if (_9 != 0)
  3881. goto <bb 19>; [50.00%]
  3882. else
  3883. goto <bb 20>; [50.00%]
  3884. <bb 19> [local count: 2696]:
  3885. # DEBUG BEGIN_STMT
  3886. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3887. # DEBUG BEGIN_STMT
  3888. __asm__ __volatile__("dsb" : : : "memory");
  3889. # DEBUG BEGIN_STMT
  3890. __asm__ __volatile__("isb");
  3891. # DEBUG BEGIN_STMT
  3892. <bb 20> [local count: 16340]:
  3893. # DEBUG BEGIN_STMT
  3894. # DEBUG BEGIN_STMT
  3895. vPortExitCritical ();
  3896. # DEBUG BEGIN_STMT
  3897. goto <bb 43>; [100.00%]
  3898. <bb 21> [local count: 430102]:
  3899. # DEBUG BEGIN_STMT
  3900. xTicksToWait.20_10 = xTicksToWait;
  3901. if (xTicksToWait.20_10 == 0)
  3902. goto <bb 22>; [3.66%]
  3903. else
  3904. goto <bb 26>; [96.34%]
  3905. <bb 22> [local count: 15742]:
  3906. # xInheritanceOccurred_43 = PHI <xInheritanceOccurred_24(21)>
  3907. # DEBUG BEGIN_STMT
  3908. if (xInheritanceOccurred_43 != 0)
  3909. goto <bb 23>; [79.76%]
  3910. else
  3911. goto <bb 25>; [20.24%]
  3912. <bb 23> [local count: 12556]:
  3913. # DEBUG BEGIN_STMT
  3914. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3915. # DEBUG BEGIN_STMT
  3916. # DEBUG BEGIN_STMT
  3917. __asm__ __volatile__(" mov %0, %1
  3918. msr basepri, %0
  3919. isb
  3920. dsb
  3921. " : "=r" ulNewBASEPRI_91 : "i" 16 : "memory");
  3922. # DEBUG ulNewBASEPRI => ulNewBASEPRI_91
  3923. <bb 24> [local count: 125556217]:
  3924. # DEBUG ulNewBASEPRI => NULL
  3925. # DEBUG BEGIN_STMT
  3926. # DEBUG BEGIN_STMT
  3927. # DEBUG BEGIN_STMT
  3928. <bb 46> [local count: 125556217]:
  3929. goto <bb 24>; [100.00%]
  3930. <bb 25> [local count: 3186]:
  3931. # DEBUG BEGIN_STMT
  3932. # DEBUG BEGIN_STMT
  3933. vPortExitCritical ();
  3934. # DEBUG BEGIN_STMT
  3935. # DEBUG BEGIN_STMT
  3936. goto <bb 43>; [100.00%]
  3937. <bb 26> [local count: 414360]:
  3938. # DEBUG BEGIN_STMT
  3939. if (xEntryTimeSet_22 == 0)
  3940. goto <bb 27>; [33.00%]
  3941. else
  3942. goto <bb 28>; [67.00%]
  3943. <bb 27> [local count: 136739]:
  3944. # DEBUG BEGIN_STMT
  3945. vTaskInternalSetTimeOutState (&xTimeOut);
  3946. # DEBUG BEGIN_STMT
  3947. # DEBUG xEntryTimeSet => 1
  3948. <bb 28> [local count: 414360]:
  3949. # xEntryTimeSet_23 = PHI <xEntryTimeSet_22(26), 1(27)>
  3950. # DEBUG xEntryTimeSet => xEntryTimeSet_23
  3951. # DEBUG BEGIN_STMT
  3952. # DEBUG BEGIN_STMT
  3953. vPortExitCritical ();
  3954. # DEBUG BEGIN_STMT
  3955. vTaskSuspendAll ();
  3956. # DEBUG BEGIN_STMT
  3957. vPortEnterCritical ();
  3958. # DEBUG BEGIN_STMT
  3959. _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock;
  3960. if (_11 == -1)
  3961. goto <bb 29>; [34.00%]
  3962. else
  3963. goto <bb 30>; [66.00%]
  3964. <bb 29> [local count: 140882]:
  3965. # DEBUG BEGIN_STMT
  3966. MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0;
  3967. <bb 30> [local count: 414360]:
  3968. # DEBUG BEGIN_STMT
  3969. _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock;
  3970. if (_12 == -1)
  3971. goto <bb 31>; [34.00%]
  3972. else
  3973. goto <bb 32>; [66.00%]
  3974. <bb 31> [local count: 140882]:
  3975. # DEBUG BEGIN_STMT
  3976. MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0;
  3977. <bb 32> [local count: 414360]:
  3978. # DEBUG BEGIN_STMT
  3979. vPortExitCritical ();
  3980. # DEBUG BEGIN_STMT
  3981. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  3982. if (_13 == 0)
  3983. goto <bb 33>; [50.00%]
  3984. else
  3985. goto <bb 39>; [50.00%]
  3986. <bb 33> [local count: 207180]:
  3987. # DEBUG BEGIN_STMT
  3988. _14 = prvIsQueueEmpty (xQueue_38(D));
  3989. if (_14 != 0)
  3990. goto <bb 34>; [67.00%]
  3991. else
  3992. goto <bb 38>; [33.00%]
  3993. <bb 34> [local count: 138811]:
  3994. # DEBUG BEGIN_STMT
  3995. # DEBUG BEGIN_STMT
  3996. _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  3997. if (_15 == 0B)
  3998. goto <bb 35>; [17.43%]
  3999. else
  4000. goto <bb 36>; [82.57%]
  4001. <bb 35> [local count: 24195]:
  4002. # DEBUG BEGIN_STMT
  4003. vPortEnterCritical ();
  4004. # DEBUG BEGIN_STMT
  4005. _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  4006. xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  4007. # DEBUG xInheritanceOccurred => xInheritanceOccurred_70
  4008. # DEBUG BEGIN_STMT
  4009. vPortExitCritical ();
  4010. <bb 36> [local count: 138811]:
  4011. # xInheritanceOccurred_25 = PHI <xInheritanceOccurred_24(34), xInheritanceOccurred_70(35)>
  4012. # DEBUG xInheritanceOccurred => xInheritanceOccurred_25
  4013. # DEBUG BEGIN_STMT
  4014. # DEBUG BEGIN_STMT
  4015. _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive;
  4016. xTicksToWait.21_18 = xTicksToWait;
  4017. vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  4018. # DEBUG BEGIN_STMT
  4019. prvUnlockQueue (xQueue_38(D));
  4020. # DEBUG BEGIN_STMT
  4021. _19 = xTaskResumeAll ();
  4022. if (_19 == 0)
  4023. goto <bb 37>; [50.00%]
  4024. else
  4025. goto <bb 13>; [50.00%]
  4026. <bb 37> [local count: 69405]:
  4027. # DEBUG BEGIN_STMT
  4028. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4029. # DEBUG BEGIN_STMT
  4030. __asm__ __volatile__("dsb" : : : "memory");
  4031. # DEBUG BEGIN_STMT
  4032. __asm__ __volatile__("isb");
  4033. # DEBUG BEGIN_STMT
  4034. goto <bb 13>; [100.00%]
  4035. <bb 38> [local count: 68369]:
  4036. # DEBUG BEGIN_STMT
  4037. prvUnlockQueue (xQueue_38(D));
  4038. # DEBUG BEGIN_STMT
  4039. xTaskResumeAll ();
  4040. goto <bb 13>; [100.00%]
  4041. <bb 39> [local count: 207180]:
  4042. # DEBUG BEGIN_STMT
  4043. prvUnlockQueue (xQueue_38(D));
  4044. # DEBUG BEGIN_STMT
  4045. xTaskResumeAll ();
  4046. # DEBUG BEGIN_STMT
  4047. _20 = prvIsQueueEmpty (xQueue_38(D));
  4048. if (_20 != 0)
  4049. goto <bb 40>; [3.66%]
  4050. else
  4051. goto <bb 13>; [96.34%]
  4052. <bb 40> [local count: 7583]:
  4053. # xInheritanceOccurred_44 = PHI <xInheritanceOccurred_24(39)>
  4054. # DEBUG BEGIN_STMT
  4055. if (xInheritanceOccurred_44 != 0)
  4056. goto <bb 41>; [33.00%]
  4057. else
  4058. goto <bb 42>; [67.00%]
  4059. <bb 41> [local count: 2502]:
  4060. # DEBUG BEGIN_STMT
  4061. vPortEnterCritical ();
  4062. # DEBUG BEGIN_STMT
  4063. # DEBUG BEGIN_STMT
  4064. uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  4065. # DEBUG uxHighestWaitingPriority => uxHighestWaitingPriority_61
  4066. # DEBUG BEGIN_STMT
  4067. _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  4068. vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61);
  4069. # DEBUG BEGIN_STMT
  4070. vPortExitCritical ();
  4071. <bb 42> [local count: 7583]:
  4072. # DEBUG BEGIN_STMT
  4073. # DEBUG BEGIN_STMT
  4074. <bb 43> [local count: 27109]:
  4075. # _27 = PHI <1(20), 0(25), 0(42)>
  4076. xTimeOut ={v} {CLOBBER};
  4077. return _27;
  4078. }
  4079. ;; Function xQueueTakeMutexRecursive (xQueueTakeMutexRecursive, funcdef_no=12, decl_uid=6379, cgraph_uid=13, symbol_order=13)
  4080. Modification phase of node xQueueTakeMutexRecursive/13
  4081. xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait)
  4082. {
  4083. uint32_t ulNewBASEPRI;
  4084. BaseType_t xReturn;
  4085. struct tskTaskControlBlock * _1;
  4086. struct tskTaskControlBlock * _2;
  4087. long unsigned int _3;
  4088. long unsigned int _4;
  4089. long unsigned int _5;
  4090. long unsigned int _6;
  4091. <bb 2> [local count: 230763]:
  4092. # DEBUG BEGIN_STMT
  4093. # DEBUG BEGIN_STMT
  4094. # DEBUG pxMutex => xMutex_9(D)
  4095. # DEBUG BEGIN_STMT
  4096. if (xMutex_9(D) == 0B)
  4097. goto <bb 3>; [46.53%]
  4098. else
  4099. goto <bb 5>; [53.47%]
  4100. <bb 3> [local count: 107374]:
  4101. # DEBUG BEGIN_STMT
  4102. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4103. # DEBUG BEGIN_STMT
  4104. # DEBUG BEGIN_STMT
  4105. __asm__ __volatile__(" mov %0, %1
  4106. msr basepri, %0
  4107. isb
  4108. dsb
  4109. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  4110. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  4111. <bb 4> [local count: 1073741824]:
  4112. # DEBUG ulNewBASEPRI => NULL
  4113. # DEBUG BEGIN_STMT
  4114. # DEBUG BEGIN_STMT
  4115. # DEBUG BEGIN_STMT
  4116. <bb 10> [local count: 1073741824]:
  4117. goto <bb 4>; [100.00%]
  4118. <bb 5> [local count: 123389]:
  4119. # DEBUG BEGIN_STMT
  4120. # DEBUG BEGIN_STMT
  4121. # DEBUG BEGIN_STMT
  4122. _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder;
  4123. _2 = xTaskGetCurrentTaskHandle ();
  4124. if (_1 == _2)
  4125. goto <bb 6>; [46.53%]
  4126. else
  4127. goto <bb 7>; [53.47%]
  4128. <bb 6> [local count: 57413]:
  4129. # DEBUG BEGIN_STMT
  4130. _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  4131. _4 = _3 + 1;
  4132. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  4133. # DEBUG BEGIN_STMT
  4134. # DEBUG xReturn => 1
  4135. goto <bb 9>; [100.00%]
  4136. <bb 7> [local count: 65976]:
  4137. # DEBUG BEGIN_STMT
  4138. xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  4139. # DEBUG xReturn => xReturn_14
  4140. # DEBUG BEGIN_STMT
  4141. if (xReturn_14 != 0)
  4142. goto <bb 8>; [50.00%]
  4143. else
  4144. goto <bb 9>; [50.00%]
  4145. <bb 8> [local count: 32988]:
  4146. # DEBUG BEGIN_STMT
  4147. _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  4148. _6 = _5 + 1;
  4149. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6;
  4150. <bb 9> [local count: 123389]:
  4151. # xReturn_7 = PHI <1(6), xReturn_14(7), xReturn_14(8)>
  4152. # DEBUG xReturn => xReturn_7
  4153. # DEBUG BEGIN_STMT
  4154. # DEBUG BEGIN_STMT
  4155. return xReturn_7;
  4156. }
  4157. ;; Function xQueuePeek (xQueuePeek, funcdef_no=19, decl_uid=6310, cgraph_uid=20, symbol_order=20)
  4158. Modification phase of node xQueuePeek/20
  4159. xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  4160. {
  4161. uint32_t ulNewBASEPRI;
  4162. uint32_t ulNewBASEPRI;
  4163. uint32_t ulNewBASEPRI;
  4164. const UBaseType_t uxMessagesWaiting;
  4165. int8_t * pcOriginalReadPosition;
  4166. struct TimeOut_t xTimeOut;
  4167. BaseType_t xEntryTimeSet;
  4168. long unsigned int _1;
  4169. long int _2;
  4170. long unsigned int xTicksToWait.24_3;
  4171. long unsigned int _4;
  4172. struct List_t * _5;
  4173. long int _6;
  4174. long unsigned int xTicksToWait.25_7;
  4175. signed char _8;
  4176. signed char _9;
  4177. long int _10;
  4178. long int _11;
  4179. struct List_t * _12;
  4180. long unsigned int xTicksToWait.26_13;
  4181. long int _14;
  4182. long int _15;
  4183. BaseType_t _18;
  4184. <bb 2> [local count: 357913]:
  4185. # DEBUG BEGIN_STMT
  4186. # DEBUG xEntryTimeSet => 0
  4187. # DEBUG BEGIN_STMT
  4188. # DEBUG BEGIN_STMT
  4189. # DEBUG BEGIN_STMT
  4190. # DEBUG pxQueue => xQueue_26(D)
  4191. # DEBUG BEGIN_STMT
  4192. if (xQueue_26(D) == 0B)
  4193. goto <bb 3>; [30.00%]
  4194. else
  4195. goto <bb 5>; [70.00%]
  4196. <bb 3> [local count: 107374]:
  4197. # DEBUG BEGIN_STMT
  4198. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4199. # DEBUG BEGIN_STMT
  4200. # DEBUG BEGIN_STMT
  4201. __asm__ __volatile__(" mov %0, %1
  4202. msr basepri, %0
  4203. isb
  4204. dsb
  4205. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  4206. # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
  4207. <bb 4> [local count: 1073741824]:
  4208. # DEBUG ulNewBASEPRI => NULL
  4209. # DEBUG BEGIN_STMT
  4210. # DEBUG BEGIN_STMT
  4211. # DEBUG BEGIN_STMT
  4212. <bb 35> [local count: 1073741824]:
  4213. goto <bb 4>; [100.00%]
  4214. <bb 5> [local count: 250539]:
  4215. # DEBUG BEGIN_STMT
  4216. # DEBUG BEGIN_STMT
  4217. if (pvBuffer_27(D) != 0B)
  4218. goto <bb 9>; [53.47%]
  4219. else
  4220. goto <bb 6>; [46.53%]
  4221. <bb 6> [local count: 116576]:
  4222. _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize;
  4223. if (_1 == 0)
  4224. goto <bb 9>; [50.00%]
  4225. else
  4226. goto <bb 7>; [50.00%]
  4227. <bb 7> [local count: 58288]:
  4228. # DEBUG BEGIN_STMT
  4229. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4230. # DEBUG BEGIN_STMT
  4231. # DEBUG BEGIN_STMT
  4232. __asm__ __volatile__(" mov %0, %1
  4233. msr basepri, %0
  4234. isb
  4235. dsb
  4236. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  4237. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  4238. <bb 8> [local count: 582880751]:
  4239. # DEBUG ulNewBASEPRI => NULL
  4240. # DEBUG BEGIN_STMT
  4241. # DEBUG BEGIN_STMT
  4242. # DEBUG BEGIN_STMT
  4243. <bb 37> [local count: 582880751]:
  4244. goto <bb 8>; [100.00%]
  4245. <bb 9> [local count: 192251]:
  4246. # DEBUG BEGIN_STMT
  4247. # DEBUG BEGIN_STMT
  4248. _2 = xTaskGetSchedulerState ();
  4249. if (_2 != 0)
  4250. goto <bb 10>; [50.00%]
  4251. else
  4252. goto <bb 11>; [50.00%]
  4253. <bb 10> [local count: 144189]:
  4254. # xEntryTimeSet_30 = PHI <0(9), 0(11)>
  4255. goto <bb 15>; [100.00%]
  4256. <bb 11> [local count: 96126]:
  4257. xTicksToWait.24_3 = xTicksToWait;
  4258. if (xTicksToWait.24_3 == 0)
  4259. goto <bb 10>; [50.00%]
  4260. else
  4261. goto <bb 12>; [50.00%]
  4262. <bb 12> [local count: 48063]:
  4263. # DEBUG BEGIN_STMT
  4264. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4265. # DEBUG BEGIN_STMT
  4266. # DEBUG BEGIN_STMT
  4267. __asm__ __volatile__(" mov %0, %1
  4268. msr basepri, %0
  4269. isb
  4270. dsb
  4271. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  4272. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  4273. <bb 13> [local count: 480629211]:
  4274. # DEBUG ulNewBASEPRI => NULL
  4275. # DEBUG BEGIN_STMT
  4276. # DEBUG BEGIN_STMT
  4277. # DEBUG BEGIN_STMT
  4278. <bb 36> [local count: 480629211]:
  4279. goto <bb 13>; [100.00%]
  4280. <bb 14> [local count: 1478726]:
  4281. # xEntryTimeSet_44 = PHI <xEntryTimeSet_17(33), xEntryTimeSet_17(32), xEntryTimeSet_17(31), xEntryTimeSet_17(30)>
  4282. <bb 15> [local count: 1622915]:
  4283. # xEntryTimeSet_16 = PHI <xEntryTimeSet_30(10), xEntryTimeSet_44(14)>
  4284. # DEBUG xEntryTimeSet => xEntryTimeSet_16
  4285. # DEBUG BEGIN_STMT
  4286. # DEBUG BEGIN_STMT
  4287. # DEBUG BEGIN_STMT
  4288. vPortEnterCritical ();
  4289. # DEBUG BEGIN_STMT
  4290. uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting;
  4291. # DEBUG uxMessagesWaiting => uxMessagesWaiting_32
  4292. # DEBUG BEGIN_STMT
  4293. if (uxMessagesWaiting_32 != 0)
  4294. goto <bb 16>; [3.66%]
  4295. else
  4296. goto <bb 20>; [96.34%]
  4297. <bb 16> [local count: 59399]:
  4298. # DEBUG BEGIN_STMT
  4299. pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom;
  4300. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_55
  4301. # DEBUG BEGIN_STMT
  4302. prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  4303. # DEBUG BEGIN_STMT
  4304. # DEBUG BEGIN_STMT
  4305. MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55;
  4306. # DEBUG BEGIN_STMT
  4307. _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems;
  4308. if (_4 != 0)
  4309. goto <bb 17>; [33.00%]
  4310. else
  4311. goto <bb 19>; [67.00%]
  4312. <bb 17> [local count: 19602]:
  4313. # DEBUG BEGIN_STMT
  4314. _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  4315. _6 = xTaskRemoveFromEventList (_5);
  4316. if (_6 != 0)
  4317. goto <bb 18>; [50.00%]
  4318. else
  4319. goto <bb 19>; [50.00%]
  4320. <bb 18> [local count: 9801]:
  4321. # DEBUG BEGIN_STMT
  4322. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4323. # DEBUG BEGIN_STMT
  4324. __asm__ __volatile__("dsb" : : : "memory");
  4325. # DEBUG BEGIN_STMT
  4326. __asm__ __volatile__("isb");
  4327. # DEBUG BEGIN_STMT
  4328. <bb 19> [local count: 59399]:
  4329. # DEBUG BEGIN_STMT
  4330. # DEBUG BEGIN_STMT
  4331. vPortExitCritical ();
  4332. # DEBUG BEGIN_STMT
  4333. goto <bb 34>; [100.00%]
  4334. <bb 20> [local count: 1563516]:
  4335. # DEBUG BEGIN_STMT
  4336. xTicksToWait.25_7 = xTicksToWait;
  4337. if (xTicksToWait.25_7 == 0)
  4338. goto <bb 21>; [3.66%]
  4339. else
  4340. goto <bb 22>; [96.34%]
  4341. <bb 21> [local count: 57225]:
  4342. # DEBUG BEGIN_STMT
  4343. vPortExitCritical ();
  4344. # DEBUG BEGIN_STMT
  4345. # DEBUG BEGIN_STMT
  4346. goto <bb 34>; [100.00%]
  4347. <bb 22> [local count: 1506292]:
  4348. # DEBUG BEGIN_STMT
  4349. if (xEntryTimeSet_16 == 0)
  4350. goto <bb 23>; [33.00%]
  4351. else
  4352. goto <bb 24>; [67.00%]
  4353. <bb 23> [local count: 497076]:
  4354. # DEBUG BEGIN_STMT
  4355. vTaskInternalSetTimeOutState (&xTimeOut);
  4356. # DEBUG BEGIN_STMT
  4357. # DEBUG xEntryTimeSet => 1
  4358. <bb 24> [local count: 1506292]:
  4359. # xEntryTimeSet_17 = PHI <xEntryTimeSet_16(22), 1(23)>
  4360. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  4361. # DEBUG BEGIN_STMT
  4362. # DEBUG BEGIN_STMT
  4363. vPortExitCritical ();
  4364. # DEBUG BEGIN_STMT
  4365. vTaskSuspendAll ();
  4366. # DEBUG BEGIN_STMT
  4367. vPortEnterCritical ();
  4368. # DEBUG BEGIN_STMT
  4369. _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock;
  4370. if (_8 == -1)
  4371. goto <bb 25>; [34.00%]
  4372. else
  4373. goto <bb 26>; [66.00%]
  4374. <bb 25> [local count: 512139]:
  4375. # DEBUG BEGIN_STMT
  4376. MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0;
  4377. <bb 26> [local count: 1506292]:
  4378. # DEBUG BEGIN_STMT
  4379. _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock;
  4380. if (_9 == -1)
  4381. goto <bb 27>; [34.00%]
  4382. else
  4383. goto <bb 28>; [66.00%]
  4384. <bb 27> [local count: 512139]:
  4385. # DEBUG BEGIN_STMT
  4386. MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0;
  4387. <bb 28> [local count: 1506292]:
  4388. # DEBUG BEGIN_STMT
  4389. vPortExitCritical ();
  4390. # DEBUG BEGIN_STMT
  4391. _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  4392. if (_10 == 0)
  4393. goto <bb 29>; [50.00%]
  4394. else
  4395. goto <bb 33>; [50.00%]
  4396. <bb 29> [local count: 753146]:
  4397. # DEBUG BEGIN_STMT
  4398. _11 = prvIsQueueEmpty (xQueue_26(D));
  4399. if (_11 != 0)
  4400. goto <bb 30>; [50.00%]
  4401. else
  4402. goto <bb 32>; [50.00%]
  4403. <bb 30> [local count: 376573]:
  4404. # DEBUG BEGIN_STMT
  4405. # DEBUG BEGIN_STMT
  4406. _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  4407. xTicksToWait.26_13 = xTicksToWait;
  4408. vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  4409. # DEBUG BEGIN_STMT
  4410. prvUnlockQueue (xQueue_26(D));
  4411. # DEBUG BEGIN_STMT
  4412. _14 = xTaskResumeAll ();
  4413. if (_14 == 0)
  4414. goto <bb 31>; [50.00%]
  4415. else
  4416. goto <bb 14>; [50.00%]
  4417. <bb 31> [local count: 188286]:
  4418. # DEBUG BEGIN_STMT
  4419. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4420. # DEBUG BEGIN_STMT
  4421. __asm__ __volatile__("dsb" : : : "memory");
  4422. # DEBUG BEGIN_STMT
  4423. __asm__ __volatile__("isb");
  4424. # DEBUG BEGIN_STMT
  4425. goto <bb 14>; [100.00%]
  4426. <bb 32> [local count: 376573]:
  4427. # DEBUG BEGIN_STMT
  4428. prvUnlockQueue (xQueue_26(D));
  4429. # DEBUG BEGIN_STMT
  4430. xTaskResumeAll ();
  4431. goto <bb 14>; [100.00%]
  4432. <bb 33> [local count: 753146]:
  4433. # DEBUG BEGIN_STMT
  4434. prvUnlockQueue (xQueue_26(D));
  4435. # DEBUG BEGIN_STMT
  4436. xTaskResumeAll ();
  4437. # DEBUG BEGIN_STMT
  4438. _15 = prvIsQueueEmpty (xQueue_26(D));
  4439. if (_15 != 0)
  4440. goto <bb 34>; [3.66%]
  4441. else
  4442. goto <bb 14>; [96.34%]
  4443. <bb 34> [local count: 144189]:
  4444. # _18 = PHI <1(19), 0(21), 0(33)>
  4445. xTimeOut ={v} {CLOBBER};
  4446. return _18;
  4447. }
  4448. ;; Function xQueueReceiveFromISR (xQueueReceiveFromISR, funcdef_no=20, decl_uid=6335, cgraph_uid=21, symbol_order=21)
  4449. Modification phase of node xQueueReceiveFromISR/21
  4450. xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken)
  4451. {
  4452. uint32_t ulNewBASEPRI;
  4453. uint32_t ulOriginalBASEPRI;
  4454. uint32_t ulNewBASEPRI;
  4455. uint32_t ulNewBASEPRI;
  4456. uint32_t ulNewBASEPRI;
  4457. const int8_t cRxLock;
  4458. const UBaseType_t uxMessagesWaiting;
  4459. BaseType_t xReturn;
  4460. long unsigned int _1;
  4461. long unsigned int _2;
  4462. long unsigned int _3;
  4463. struct List_t * _4;
  4464. long int _5;
  4465. unsigned char cRxLock.28_6;
  4466. unsigned char _7;
  4467. signed char _8;
  4468. <bb 2> [local count: 357913]:
  4469. # DEBUG BEGIN_STMT
  4470. # DEBUG BEGIN_STMT
  4471. # DEBUG BEGIN_STMT
  4472. # DEBUG pxQueue => xQueue_11(D)
  4473. # DEBUG BEGIN_STMT
  4474. if (xQueue_11(D) == 0B)
  4475. goto <bb 3>; [30.00%]
  4476. else
  4477. goto <bb 5>; [70.00%]
  4478. <bb 3> [local count: 107374]:
  4479. # DEBUG BEGIN_STMT
  4480. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4481. # DEBUG BEGIN_STMT
  4482. # DEBUG BEGIN_STMT
  4483. __asm__ __volatile__(" mov %0, %1
  4484. msr basepri, %0
  4485. isb
  4486. dsb
  4487. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  4488. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  4489. <bb 4> [local count: 1073741824]:
  4490. # DEBUG ulNewBASEPRI => NULL
  4491. # DEBUG BEGIN_STMT
  4492. # DEBUG BEGIN_STMT
  4493. # DEBUG BEGIN_STMT
  4494. <bb 21> [local count: 1073741824]:
  4495. goto <bb 4>; [100.00%]
  4496. <bb 5> [local count: 250539]:
  4497. # DEBUG BEGIN_STMT
  4498. # DEBUG BEGIN_STMT
  4499. if (pvBuffer_12(D) != 0B)
  4500. goto <bb 9>; [53.47%]
  4501. else
  4502. goto <bb 6>; [46.53%]
  4503. <bb 6> [local count: 116576]:
  4504. _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize;
  4505. if (_1 == 0)
  4506. goto <bb 9>; [50.00%]
  4507. else
  4508. goto <bb 7>; [50.00%]
  4509. <bb 7> [local count: 58288]:
  4510. # DEBUG BEGIN_STMT
  4511. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4512. # DEBUG BEGIN_STMT
  4513. # DEBUG BEGIN_STMT
  4514. __asm__ __volatile__(" mov %0, %1
  4515. msr basepri, %0
  4516. isb
  4517. dsb
  4518. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  4519. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  4520. <bb 8> [local count: 582880751]:
  4521. # DEBUG ulNewBASEPRI => NULL
  4522. # DEBUG BEGIN_STMT
  4523. # DEBUG BEGIN_STMT
  4524. # DEBUG BEGIN_STMT
  4525. <bb 23> [local count: 582880751]:
  4526. goto <bb 8>; [100.00%]
  4527. <bb 9> [local count: 192251]:
  4528. # DEBUG BEGIN_STMT
  4529. # DEBUG BEGIN_STMT
  4530. vPortValidateInterruptPriority ();
  4531. # DEBUG BEGIN_STMT
  4532. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  4533. # DEBUG BEGIN_STMT
  4534. # DEBUG BEGIN_STMT
  4535. __asm__ __volatile__(" mrs %0, basepri
  4536. mov %1, %2
  4537. msr basepri, %1
  4538. isb
  4539. dsb
  4540. " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  4541. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  4542. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25
  4543. # DEBUG BEGIN_STMT
  4544. # DEBUG ulNewBASEPRI => NULL
  4545. # DEBUG ulOriginalBASEPRI => NULL
  4546. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25
  4547. # DEBUG BEGIN_STMT
  4548. uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting;
  4549. # DEBUG uxMessagesWaiting => uxMessagesWaiting_15
  4550. # DEBUG BEGIN_STMT
  4551. if (uxMessagesWaiting_15 != 0)
  4552. goto <bb 10>; [33.00%]
  4553. else
  4554. goto <bb 20>; [67.00%]
  4555. <bb 10> [local count: 63443]:
  4556. # DEBUG BEGIN_STMT
  4557. cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock;
  4558. # DEBUG cRxLock => cRxLock_16
  4559. # DEBUG BEGIN_STMT
  4560. # DEBUG BEGIN_STMT
  4561. prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  4562. # DEBUG BEGIN_STMT
  4563. _2 = uxMessagesWaiting_15 + 4294967295;
  4564. MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2;
  4565. # DEBUG BEGIN_STMT
  4566. if (cRxLock_16 == -1)
  4567. goto <bb 11>; [34.00%]
  4568. else
  4569. goto <bb 15>; [66.00%]
  4570. <bb 11> [local count: 21571]:
  4571. # DEBUG BEGIN_STMT
  4572. _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems;
  4573. if (_3 != 0)
  4574. goto <bb 12>; [33.00%]
  4575. else
  4576. goto <bb 20>; [67.00%]
  4577. <bb 12> [local count: 7118]:
  4578. # DEBUG BEGIN_STMT
  4579. _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend;
  4580. _5 = xTaskRemoveFromEventList (_4);
  4581. if (_5 != 0)
  4582. goto <bb 13>; [50.00%]
  4583. else
  4584. goto <bb 20>; [50.00%]
  4585. <bb 13> [local count: 3559]:
  4586. # DEBUG BEGIN_STMT
  4587. if (pxHigherPriorityTaskWoken_21(D) != 0B)
  4588. goto <bb 14>; [70.00%]
  4589. else
  4590. goto <bb 20>; [30.00%]
  4591. <bb 14> [local count: 2491]:
  4592. # DEBUG BEGIN_STMT
  4593. *pxHigherPriorityTaskWoken_21(D) = 1;
  4594. goto <bb 20>; [100.00%]
  4595. <bb 15> [local count: 41872]:
  4596. # DEBUG BEGIN_STMT
  4597. if (cRxLock_16 == 127)
  4598. goto <bb 16>; [34.00%]
  4599. else
  4600. goto <bb 18>; [66.00%]
  4601. <bb 16> [local count: 14237]:
  4602. # DEBUG BEGIN_STMT
  4603. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4604. # DEBUG BEGIN_STMT
  4605. # DEBUG BEGIN_STMT
  4606. __asm__ __volatile__(" mov %0, %1
  4607. msr basepri, %0
  4608. isb
  4609. dsb
  4610. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  4611. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  4612. <bb 17> [local count: 142366217]:
  4613. # DEBUG ulNewBASEPRI => NULL
  4614. # DEBUG BEGIN_STMT
  4615. # DEBUG BEGIN_STMT
  4616. # DEBUG BEGIN_STMT
  4617. <bb 22> [local count: 142366217]:
  4618. goto <bb 17>; [100.00%]
  4619. <bb 18> [local count: 27636]:
  4620. # DEBUG BEGIN_STMT
  4621. # DEBUG BEGIN_STMT
  4622. cRxLock.28_6 = (unsigned char) cRxLock_16;
  4623. _7 = cRxLock.28_6 + 1;
  4624. _8 = (signed char) _7;
  4625. MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8;
  4626. <bb 20> [local count: 178015]:
  4627. # xReturn_9 = PHI <1(18), 0(9), 1(14), 1(12), 1(13), 1(11)>
  4628. # DEBUG xReturn => xReturn_9
  4629. # DEBUG BEGIN_STMT
  4630. # DEBUG BEGIN_STMT
  4631. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25
  4632. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  4633. # DEBUG BEGIN_STMT
  4634. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory");
  4635. # DEBUG ulNewMaskValue => NULL
  4636. # DEBUG BEGIN_STMT
  4637. return xReturn_9;
  4638. }
  4639. ;; Function xQueuePeekFromISR (xQueuePeekFromISR, funcdef_no=21, decl_uid=6313, cgraph_uid=22, symbol_order=22)
  4640. Modification phase of node xQueuePeekFromISR/22
  4641. xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer)
  4642. {
  4643. uint32_t ulOriginalBASEPRI;
  4644. uint32_t ulNewBASEPRI;
  4645. uint32_t ulNewBASEPRI;
  4646. uint32_t ulNewBASEPRI;
  4647. uint32_t ulNewBASEPRI;
  4648. int8_t * pcOriginalReadPosition;
  4649. BaseType_t xReturn;
  4650. long unsigned int _1;
  4651. long unsigned int _2;
  4652. long unsigned int _3;
  4653. <bb 2> [local count: 269344]:
  4654. # DEBUG BEGIN_STMT
  4655. # DEBUG BEGIN_STMT
  4656. # DEBUG BEGIN_STMT
  4657. # DEBUG BEGIN_STMT
  4658. # DEBUG pxQueue => xQueue_6(D)
  4659. # DEBUG BEGIN_STMT
  4660. if (xQueue_6(D) == 0B)
  4661. goto <bb 3>; [30.00%]
  4662. else
  4663. goto <bb 5>; [70.00%]
  4664. <bb 3> [local count: 80803]:
  4665. # DEBUG BEGIN_STMT
  4666. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4667. # DEBUG BEGIN_STMT
  4668. # DEBUG BEGIN_STMT
  4669. __asm__ __volatile__(" mov %0, %1
  4670. msr basepri, %0
  4671. isb
  4672. dsb
  4673. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  4674. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  4675. <bb 4> [local count: 808033481]:
  4676. # DEBUG ulNewBASEPRI => NULL
  4677. # DEBUG BEGIN_STMT
  4678. # DEBUG BEGIN_STMT
  4679. # DEBUG BEGIN_STMT
  4680. <bb 15> [local count: 808033481]:
  4681. goto <bb 4>; [100.00%]
  4682. <bb 5> [local count: 188541]:
  4683. # DEBUG BEGIN_STMT
  4684. # DEBUG BEGIN_STMT
  4685. if (pvBuffer_7(D) != 0B)
  4686. goto <bb 9>; [70.00%]
  4687. else
  4688. goto <bb 6>; [30.00%]
  4689. <bb 6> [local count: 56562]:
  4690. _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  4691. if (_1 == 0)
  4692. goto <bb 9>; [50.00%]
  4693. else
  4694. goto <bb 7>; [50.00%]
  4695. <bb 7> [local count: 28281]:
  4696. # DEBUG BEGIN_STMT
  4697. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4698. # DEBUG BEGIN_STMT
  4699. # DEBUG BEGIN_STMT
  4700. __asm__ __volatile__(" mov %0, %1
  4701. msr basepri, %0
  4702. isb
  4703. dsb
  4704. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  4705. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  4706. <bb 8> [local count: 282811719]:
  4707. # DEBUG ulNewBASEPRI => NULL
  4708. # DEBUG BEGIN_STMT
  4709. # DEBUG BEGIN_STMT
  4710. # DEBUG BEGIN_STMT
  4711. <bb 17> [local count: 282811719]:
  4712. goto <bb 8>; [100.00%]
  4713. <bb 9> [local count: 160260]:
  4714. # DEBUG BEGIN_STMT
  4715. # DEBUG BEGIN_STMT
  4716. _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  4717. if (_2 == 0)
  4718. goto <bb 10>; [67.00%]
  4719. else
  4720. goto <bb 12>; [33.00%]
  4721. <bb 10> [local count: 107374]:
  4722. # DEBUG BEGIN_STMT
  4723. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4724. # DEBUG BEGIN_STMT
  4725. # DEBUG BEGIN_STMT
  4726. __asm__ __volatile__(" mov %0, %1
  4727. msr basepri, %0
  4728. isb
  4729. dsb
  4730. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  4731. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  4732. <bb 11> [local count: 1073741824]:
  4733. # DEBUG ulNewBASEPRI => NULL
  4734. # DEBUG BEGIN_STMT
  4735. # DEBUG BEGIN_STMT
  4736. # DEBUG BEGIN_STMT
  4737. <bb 16> [local count: 1073741824]:
  4738. goto <bb 11>; [100.00%]
  4739. <bb 12> [local count: 52886]:
  4740. # DEBUG BEGIN_STMT
  4741. # DEBUG BEGIN_STMT
  4742. vPortValidateInterruptPriority ();
  4743. # DEBUG BEGIN_STMT
  4744. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  4745. # DEBUG BEGIN_STMT
  4746. # DEBUG BEGIN_STMT
  4747. __asm__ __volatile__(" mrs %0, basepri
  4748. mov %1, %2
  4749. msr basepri, %1
  4750. isb
  4751. dsb
  4752. " : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  4753. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  4754. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_16
  4755. # DEBUG BEGIN_STMT
  4756. # DEBUG ulNewBASEPRI => NULL
  4757. # DEBUG ulOriginalBASEPRI => NULL
  4758. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_16
  4759. # DEBUG BEGIN_STMT
  4760. _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting;
  4761. if (_3 != 0)
  4762. goto <bb 13>; [33.00%]
  4763. else
  4764. goto <bb 14>; [67.00%]
  4765. <bb 13> [local count: 17452]:
  4766. # DEBUG BEGIN_STMT
  4767. # DEBUG BEGIN_STMT
  4768. pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom;
  4769. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_10
  4770. # DEBUG BEGIN_STMT
  4771. prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  4772. # DEBUG BEGIN_STMT
  4773. MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10;
  4774. # DEBUG BEGIN_STMT
  4775. # DEBUG xReturn => 1
  4776. <bb 14> [local count: 52886]:
  4777. # xReturn_4 = PHI <1(13), 0(12)>
  4778. # DEBUG xReturn => xReturn_4
  4779. # DEBUG BEGIN_STMT
  4780. # DEBUG BEGIN_STMT
  4781. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_16
  4782. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  4783. # DEBUG BEGIN_STMT
  4784. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory");
  4785. # DEBUG ulNewMaskValue => NULL
  4786. # DEBUG BEGIN_STMT
  4787. return xReturn_4;
  4788. }
  4789. ;; Function uxQueueMessagesWaiting (uxQueueMessagesWaiting, funcdef_no=22, decl_uid=6319, cgraph_uid=23, symbol_order=23)
  4790. Modification phase of node uxQueueMessagesWaiting/23
  4791. uxQueueMessagesWaiting (struct QueueDefinition * const xQueue)
  4792. {
  4793. uint32_t ulNewBASEPRI;
  4794. UBaseType_t uxReturn;
  4795. <bb 2> [local count: 230763]:
  4796. # DEBUG BEGIN_STMT
  4797. # DEBUG BEGIN_STMT
  4798. if (xQueue_1(D) == 0B)
  4799. goto <bb 3>; [46.53%]
  4800. else
  4801. goto <bb 5>; [53.47%]
  4802. <bb 3> [local count: 107374]:
  4803. # DEBUG BEGIN_STMT
  4804. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4805. # DEBUG BEGIN_STMT
  4806. # DEBUG BEGIN_STMT
  4807. __asm__ __volatile__(" mov %0, %1
  4808. msr basepri, %0
  4809. isb
  4810. dsb
  4811. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  4812. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  4813. <bb 4> [local count: 1073741824]:
  4814. # DEBUG ulNewBASEPRI => NULL
  4815. # DEBUG BEGIN_STMT
  4816. # DEBUG BEGIN_STMT
  4817. # DEBUG BEGIN_STMT
  4818. <bb 6> [local count: 1073741824]:
  4819. goto <bb 4>; [100.00%]
  4820. <bb 5> [local count: 123389]:
  4821. # DEBUG BEGIN_STMT
  4822. # DEBUG BEGIN_STMT
  4823. vPortEnterCritical ();
  4824. # DEBUG BEGIN_STMT
  4825. uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  4826. # DEBUG uxReturn => uxReturn_4
  4827. # DEBUG BEGIN_STMT
  4828. vPortExitCritical ();
  4829. # DEBUG BEGIN_STMT
  4830. return uxReturn_4;
  4831. }
  4832. ;; Function uxQueueSpacesAvailable (uxQueueSpacesAvailable, funcdef_no=23, decl_uid=6321, cgraph_uid=24, symbol_order=24)
  4833. Modification phase of node uxQueueSpacesAvailable/24
  4834. uxQueueSpacesAvailable (struct QueueDefinition * const xQueue)
  4835. {
  4836. uint32_t ulNewBASEPRI;
  4837. UBaseType_t uxReturn;
  4838. long unsigned int _1;
  4839. long unsigned int _2;
  4840. <bb 2> [local count: 230763]:
  4841. # DEBUG BEGIN_STMT
  4842. # DEBUG BEGIN_STMT
  4843. # DEBUG pxQueue => xQueue_3(D)
  4844. # DEBUG BEGIN_STMT
  4845. if (xQueue_3(D) == 0B)
  4846. goto <bb 3>; [46.53%]
  4847. else
  4848. goto <bb 5>; [53.47%]
  4849. <bb 3> [local count: 107374]:
  4850. # DEBUG BEGIN_STMT
  4851. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4852. # DEBUG BEGIN_STMT
  4853. # DEBUG BEGIN_STMT
  4854. __asm__ __volatile__(" mov %0, %1
  4855. msr basepri, %0
  4856. isb
  4857. dsb
  4858. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  4859. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  4860. <bb 4> [local count: 1073741824]:
  4861. # DEBUG ulNewBASEPRI => NULL
  4862. # DEBUG BEGIN_STMT
  4863. # DEBUG BEGIN_STMT
  4864. # DEBUG BEGIN_STMT
  4865. <bb 6> [local count: 1073741824]:
  4866. goto <bb 4>; [100.00%]
  4867. <bb 5> [local count: 123389]:
  4868. # DEBUG BEGIN_STMT
  4869. # DEBUG BEGIN_STMT
  4870. vPortEnterCritical ();
  4871. # DEBUG BEGIN_STMT
  4872. _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength;
  4873. _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  4874. uxReturn_6 = _1 - _2;
  4875. # DEBUG uxReturn => uxReturn_6
  4876. # DEBUG BEGIN_STMT
  4877. vPortExitCritical ();
  4878. # DEBUG BEGIN_STMT
  4879. return uxReturn_6;
  4880. }
  4881. ;; Function uxQueueMessagesWaitingFromISR (uxQueueMessagesWaitingFromISR, funcdef_no=24, decl_uid=6341, cgraph_uid=25, symbol_order=25)
  4882. Modification phase of node uxQueueMessagesWaitingFromISR/25
  4883. uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue)
  4884. {
  4885. uint32_t ulNewBASEPRI;
  4886. UBaseType_t uxReturn;
  4887. <bb 2> [local count: 357913]:
  4888. # DEBUG BEGIN_STMT
  4889. # DEBUG BEGIN_STMT
  4890. # DEBUG pxQueue => xQueue_1(D)
  4891. # DEBUG BEGIN_STMT
  4892. if (xQueue_1(D) == 0B)
  4893. goto <bb 3>; [30.00%]
  4894. else
  4895. goto <bb 5>; [70.00%]
  4896. <bb 3> [local count: 107374]:
  4897. # DEBUG BEGIN_STMT
  4898. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4899. # DEBUG BEGIN_STMT
  4900. # DEBUG BEGIN_STMT
  4901. __asm__ __volatile__(" mov %0, %1
  4902. msr basepri, %0
  4903. isb
  4904. dsb
  4905. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  4906. # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
  4907. <bb 4> [local count: 1073741824]:
  4908. # DEBUG ulNewBASEPRI => NULL
  4909. # DEBUG BEGIN_STMT
  4910. # DEBUG BEGIN_STMT
  4911. # DEBUG BEGIN_STMT
  4912. <bb 6> [local count: 1073741824]:
  4913. goto <bb 4>; [100.00%]
  4914. <bb 5> [local count: 250539]:
  4915. # DEBUG BEGIN_STMT
  4916. # DEBUG BEGIN_STMT
  4917. uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  4918. # DEBUG uxReturn => uxReturn_3
  4919. # DEBUG BEGIN_STMT
  4920. return uxReturn_3;
  4921. }
  4922. ;; Function uxQueueGetQueueNumber (uxQueueGetQueueNumber, funcdef_no=26, decl_uid=6417, cgraph_uid=27, symbol_order=27)
  4923. Modification phase of node uxQueueGetQueueNumber/27
  4924. uxQueueGetQueueNumber (struct QueueDefinition * xQueue)
  4925. {
  4926. UBaseType_t _3;
  4927. <bb 2> [local count: 1073741824]:
  4928. # DEBUG BEGIN_STMT
  4929. _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber;
  4930. return _3;
  4931. }
  4932. ;; Function vQueueSetQueueNumber (vQueueSetQueueNumber, funcdef_no=27, decl_uid=6415, cgraph_uid=28, symbol_order=28)
  4933. Modification phase of node vQueueSetQueueNumber/28
  4934. vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber)
  4935. {
  4936. <bb 2> [local count: 1073741824]:
  4937. # DEBUG BEGIN_STMT
  4938. MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D);
  4939. return;
  4940. }
  4941. ;; Function ucQueueGetQueueType (ucQueueGetQueueType, funcdef_no=28, decl_uid=6419, cgraph_uid=29, symbol_order=29)
  4942. Modification phase of node ucQueueGetQueueType/29
  4943. ucQueueGetQueueType (struct QueueDefinition * xQueue)
  4944. {
  4945. uint8_t _3;
  4946. <bb 2> [local count: 1073741824]:
  4947. # DEBUG BEGIN_STMT
  4948. _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType;
  4949. return _3;
  4950. }
  4951. ;; Function xQueueIsQueueEmptyFromISR (xQueueIsQueueEmptyFromISR, funcdef_no=34, decl_uid=6337, cgraph_uid=35, symbol_order=35)
  4952. Modification phase of node xQueueIsQueueEmptyFromISR/35
  4953. xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue)
  4954. {
  4955. uint32_t ulNewBASEPRI;
  4956. BaseType_t xReturn;
  4957. long unsigned int _1;
  4958. <bb 2> [local count: 357913]:
  4959. # DEBUG BEGIN_STMT
  4960. # DEBUG BEGIN_STMT
  4961. # DEBUG pxQueue => xQueue_3(D)
  4962. # DEBUG BEGIN_STMT
  4963. if (xQueue_3(D) == 0B)
  4964. goto <bb 3>; [30.00%]
  4965. else
  4966. goto <bb 5>; [70.00%]
  4967. <bb 3> [local count: 107374]:
  4968. # DEBUG BEGIN_STMT
  4969. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4970. # DEBUG BEGIN_STMT
  4971. # DEBUG BEGIN_STMT
  4972. __asm__ __volatile__(" mov %0, %1
  4973. msr basepri, %0
  4974. isb
  4975. dsb
  4976. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  4977. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  4978. <bb 4> [local count: 1073741824]:
  4979. # DEBUG ulNewBASEPRI => NULL
  4980. # DEBUG BEGIN_STMT
  4981. # DEBUG BEGIN_STMT
  4982. # DEBUG BEGIN_STMT
  4983. <bb 8> [local count: 1073741824]:
  4984. goto <bb 4>; [100.00%]
  4985. <bb 5> [local count: 250539]:
  4986. # DEBUG BEGIN_STMT
  4987. # DEBUG BEGIN_STMT
  4988. _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  4989. if (_1 == 0)
  4990. goto <bb 7>; [50.00%]
  4991. else
  4992. goto <bb 6>; [50.00%]
  4993. <bb 6> [local count: 125270]:
  4994. # DEBUG BEGIN_STMT
  4995. # DEBUG xReturn => 0
  4996. <bb 7> [local count: 250539]:
  4997. # xReturn_2 = PHI <1(5), 0(6)>
  4998. # DEBUG xReturn => xReturn_2
  4999. # DEBUG BEGIN_STMT
  5000. return xReturn_2;
  5001. }
  5002. ;; Function xQueueIsQueueFullFromISR (xQueueIsQueueFullFromISR, funcdef_no=36, decl_uid=6339, cgraph_uid=37, symbol_order=37)
  5003. Modification phase of node xQueueIsQueueFullFromISR/37
  5004. xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue)
  5005. {
  5006. uint32_t ulNewBASEPRI;
  5007. BaseType_t xReturn;
  5008. long unsigned int _1;
  5009. long unsigned int _2;
  5010. <bb 2> [local count: 357913]:
  5011. # DEBUG BEGIN_STMT
  5012. # DEBUG BEGIN_STMT
  5013. # DEBUG pxQueue => xQueue_4(D)
  5014. # DEBUG BEGIN_STMT
  5015. if (xQueue_4(D) == 0B)
  5016. goto <bb 3>; [30.00%]
  5017. else
  5018. goto <bb 5>; [70.00%]
  5019. <bb 3> [local count: 107374]:
  5020. # DEBUG BEGIN_STMT
  5021. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5022. # DEBUG BEGIN_STMT
  5023. # DEBUG BEGIN_STMT
  5024. __asm__ __volatile__(" mov %0, %1
  5025. msr basepri, %0
  5026. isb
  5027. dsb
  5028. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  5029. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  5030. <bb 4> [local count: 1073741824]:
  5031. # DEBUG ulNewBASEPRI => NULL
  5032. # DEBUG BEGIN_STMT
  5033. # DEBUG BEGIN_STMT
  5034. # DEBUG BEGIN_STMT
  5035. <bb 8> [local count: 1073741824]:
  5036. goto <bb 4>; [100.00%]
  5037. <bb 5> [local count: 250539]:
  5038. # DEBUG BEGIN_STMT
  5039. # DEBUG BEGIN_STMT
  5040. _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting;
  5041. _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength;
  5042. if (_1 == _2)
  5043. goto <bb 7>; [34.00%]
  5044. else
  5045. goto <bb 6>; [66.00%]
  5046. <bb 6> [local count: 165356]:
  5047. # DEBUG BEGIN_STMT
  5048. # DEBUG xReturn => 0
  5049. <bb 7> [local count: 250539]:
  5050. # xReturn_3 = PHI <1(5), 0(6)>
  5051. # DEBUG xReturn => xReturn_3
  5052. # DEBUG BEGIN_STMT
  5053. return xReturn_3;
  5054. }
  5055. ;; Function vQueueAddToRegistry (vQueueAddToRegistry, funcdef_no=37, decl_uid=6384, cgraph_uid=38, symbol_order=38)
  5056. Modification phase of node vQueueAddToRegistry/38
  5057. vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName)
  5058. {
  5059. uint32_t ulNewBASEPRI;
  5060. struct QueueRegistryItem_t * pxEntryToWrite;
  5061. UBaseType_t ux;
  5062. struct QueueDefinition * _1;
  5063. const char * _2;
  5064. <bb 2> [local count: 357913]:
  5065. # DEBUG BEGIN_STMT
  5066. # DEBUG BEGIN_STMT
  5067. if (xQueue_8(D) == 0B)
  5068. goto <bb 3>; [30.00%]
  5069. else
  5070. goto <bb 5>; [70.00%]
  5071. <bb 3> [local count: 107374]:
  5072. # DEBUG BEGIN_STMT
  5073. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5074. # DEBUG BEGIN_STMT
  5075. # DEBUG BEGIN_STMT
  5076. __asm__ __volatile__(" mov %0, %1
  5077. msr basepri, %0
  5078. isb
  5079. dsb
  5080. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  5081. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  5082. <bb 4> [local count: 1073741824]:
  5083. # DEBUG ulNewBASEPRI => NULL
  5084. # DEBUG BEGIN_STMT
  5085. # DEBUG BEGIN_STMT
  5086. # DEBUG BEGIN_STMT
  5087. <bb 17> [local count: 1073741824]:
  5088. goto <bb 4>; [100.00%]
  5089. <bb 5> [local count: 250539]:
  5090. # DEBUG BEGIN_STMT
  5091. # DEBUG BEGIN_STMT
  5092. # DEBUG pxEntryToWrite => 0B
  5093. # DEBUG BEGIN_STMT
  5094. if (pcQueueName_10(D) != 0B)
  5095. goto <bb 16>; [70.00%]
  5096. else
  5097. goto <bb 15>; [30.00%]
  5098. <bb 16> [local count: 175378]:
  5099. goto <bb 12>; [100.00%]
  5100. <bb 6> [local count: 316038]:
  5101. # DEBUG BEGIN_STMT
  5102. _1 = xQueueRegistry[ux_3].xHandle;
  5103. if (_1 == xQueue_8(D))
  5104. goto <bb 7>; [5.50%]
  5105. else
  5106. goto <bb 8>; [94.50%]
  5107. <bb 7> [local count: 17382]:
  5108. # ux_9 = PHI <ux_3(6)>
  5109. # DEBUG BEGIN_STMT
  5110. pxEntryToWrite_14 = &xQueueRegistry[ux_9];
  5111. # DEBUG pxEntryToWrite => pxEntryToWrite_14
  5112. # DEBUG BEGIN_STMT
  5113. goto <bb 13>; [100.00%]
  5114. <bb 8> [local count: 298656]:
  5115. # DEBUG BEGIN_STMT
  5116. if (pxEntryToWrite_5 == 0B)
  5117. goto <bb 9>; [30.00%]
  5118. else
  5119. goto <bb 11>; [70.00%]
  5120. <bb 9> [local count: 89597]:
  5121. _2 = xQueueRegistry[ux_3].pcQueueName;
  5122. if (_2 == 0B)
  5123. goto <bb 10>; [30.00%]
  5124. else
  5125. goto <bb 11>; [70.00%]
  5126. <bb 10> [local count: 26879]:
  5127. # DEBUG BEGIN_STMT
  5128. pxEntryToWrite_12 = &xQueueRegistry[ux_3];
  5129. # DEBUG pxEntryToWrite => pxEntryToWrite_12
  5130. <bb 11> [local count: 298656]:
  5131. # pxEntryToWrite_4 = PHI <pxEntryToWrite_5(8), 0B(9), pxEntryToWrite_12(10)>
  5132. # DEBUG pxEntryToWrite => pxEntryToWrite_4
  5133. # DEBUG BEGIN_STMT
  5134. # DEBUG BEGIN_STMT
  5135. ux_13 = ux_3 + 1;
  5136. # DEBUG ux => ux_13
  5137. <bb 12> [local count: 474034]:
  5138. # ux_3 = PHI <ux_13(11), 0(16)>
  5139. # pxEntryToWrite_5 = PHI <pxEntryToWrite_4(11), 0B(16)>
  5140. # DEBUG pxEntryToWrite => pxEntryToWrite_5
  5141. # DEBUG ux => ux_3
  5142. # DEBUG BEGIN_STMT
  5143. if (ux_3 != 2)
  5144. goto <bb 6>; [66.67%]
  5145. else
  5146. goto <bb 13>; [33.33%]
  5147. <bb 13> [local count: 175378]:
  5148. # pxEntryToWrite_6 = PHI <pxEntryToWrite_5(12), pxEntryToWrite_14(7)>
  5149. # DEBUG pxEntryToWrite => pxEntryToWrite_6
  5150. # DEBUG BEGIN_STMT
  5151. if (pxEntryToWrite_6 != 0B)
  5152. goto <bb 14>; [70.00%]
  5153. else
  5154. goto <bb 15>; [30.00%]
  5155. <bb 14> [local count: 122764]:
  5156. # DEBUG BEGIN_STMT
  5157. pxEntryToWrite_6->pcQueueName = pcQueueName_10(D);
  5158. # DEBUG BEGIN_STMT
  5159. pxEntryToWrite_6->xHandle = xQueue_8(D);
  5160. <bb 15> [local count: 250539]:
  5161. # DEBUG pxEntryToWrite => NULL
  5162. # DEBUG BEGIN_STMT
  5163. return;
  5164. }
  5165. ;; Function pcQueueGetName (pcQueueGetName, funcdef_no=38, decl_uid=6388, cgraph_uid=39, symbol_order=39)
  5166. Modification phase of node pcQueueGetName/39
  5167. pcQueueGetName (struct QueueDefinition * xQueue)
  5168. {
  5169. uint32_t ulNewBASEPRI;
  5170. const char * pcReturn;
  5171. UBaseType_t ux;
  5172. struct QueueDefinition * _1;
  5173. <bb 2> [local count: 357913]:
  5174. # DEBUG BEGIN_STMT
  5175. # DEBUG BEGIN_STMT
  5176. # DEBUG pcReturn => 0B
  5177. # DEBUG BEGIN_STMT
  5178. if (xQueue_5(D) == 0B)
  5179. goto <bb 3>; [30.00%]
  5180. else
  5181. goto <bb 10>; [70.00%]
  5182. <bb 10> [local count: 250539]:
  5183. goto <bb 8>; [100.00%]
  5184. <bb 3> [local count: 107374]:
  5185. # DEBUG BEGIN_STMT
  5186. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5187. # DEBUG BEGIN_STMT
  5188. # DEBUG BEGIN_STMT
  5189. __asm__ __volatile__(" mov %0, %1
  5190. msr basepri, %0
  5191. isb
  5192. dsb
  5193. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  5194. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  5195. <bb 4> [local count: 1073741824]:
  5196. # DEBUG ulNewBASEPRI => NULL
  5197. # DEBUG BEGIN_STMT
  5198. # DEBUG BEGIN_STMT
  5199. # DEBUG BEGIN_STMT
  5200. <bb 11> [local count: 1073741824]:
  5201. goto <bb 4>; [100.00%]
  5202. <bb 5> [local count: 451483]:
  5203. # DEBUG BEGIN_STMT
  5204. _1 = xQueueRegistry[ux_2].xHandle;
  5205. if (_1 == xQueue_5(D))
  5206. goto <bb 6>; [5.50%]
  5207. else
  5208. goto <bb 7>; [94.50%]
  5209. <bb 6> [local count: 24832]:
  5210. # ux_4 = PHI <ux_2(5)>
  5211. # DEBUG BEGIN_STMT
  5212. pcReturn_8 = xQueueRegistry[ux_4].pcQueueName;
  5213. # DEBUG pcReturn => pcReturn_8
  5214. # DEBUG BEGIN_STMT
  5215. goto <bb 9>; [100.00%]
  5216. <bb 7> [local count: 426652]:
  5217. # DEBUG BEGIN_STMT
  5218. # DEBUG BEGIN_STMT
  5219. ux_7 = ux_2 + 1;
  5220. # DEBUG ux => ux_7
  5221. <bb 8> [local count: 677191]:
  5222. # ux_2 = PHI <ux_7(7), 0(10)>
  5223. # DEBUG ux => ux_2
  5224. # DEBUG BEGIN_STMT
  5225. if (ux_2 != 2)
  5226. goto <bb 5>; [66.67%]
  5227. else
  5228. goto <bb 9>; [33.33%]
  5229. <bb 9> [local count: 250539]:
  5230. # pcReturn_3 = PHI <pcReturn_8(6), 0B(8)>
  5231. # DEBUG pcReturn => pcReturn_3
  5232. # DEBUG BEGIN_STMT
  5233. return pcReturn_3;
  5234. }
  5235. ;; Function vQueueUnregisterQueue (vQueueUnregisterQueue, funcdef_no=39, decl_uid=6386, cgraph_uid=40, symbol_order=40)
  5236. Modification phase of node vQueueUnregisterQueue/40
  5237. vQueueUnregisterQueue (struct QueueDefinition * xQueue)
  5238. {
  5239. UBaseType_t ux;
  5240. struct QueueDefinition * _1;
  5241. <bb 2> [local count: 357913]:
  5242. # DEBUG BEGIN_STMT
  5243. # DEBUG BEGIN_STMT
  5244. if (xQueue_3(D) == 0B)
  5245. goto <bb 3>; [30.00%]
  5246. else
  5247. goto <bb 9>; [70.00%]
  5248. <bb 9> [local count: 250539]:
  5249. goto <bb 7>; [100.00%]
  5250. <bb 3> [local count: 107374]:
  5251. # DEBUG D#1 => xQueue_3(D)
  5252. vQueueUnregisterQueue.part.0 ();
  5253. <bb 4> [local count: 451483]:
  5254. # DEBUG BEGIN_STMT
  5255. _1 = xQueueRegistry[ux_2].xHandle;
  5256. if (_1 == xQueue_3(D))
  5257. goto <bb 5>; [5.50%]
  5258. else
  5259. goto <bb 6>; [94.50%]
  5260. <bb 5> [local count: 24832]:
  5261. # ux_4 = PHI <ux_2(4)>
  5262. # DEBUG BEGIN_STMT
  5263. xQueueRegistry[ux_4].pcQueueName = 0B;
  5264. # DEBUG BEGIN_STMT
  5265. xQueueRegistry[ux_4].xHandle = 0B;
  5266. # DEBUG BEGIN_STMT
  5267. goto <bb 8>; [100.00%]
  5268. <bb 6> [local count: 426652]:
  5269. # DEBUG BEGIN_STMT
  5270. # DEBUG BEGIN_STMT
  5271. ux_6 = ux_2 + 1;
  5272. # DEBUG ux => ux_6
  5273. <bb 7> [local count: 677191]:
  5274. # ux_2 = PHI <ux_6(6), 0(9)>
  5275. # DEBUG ux => ux_2
  5276. # DEBUG BEGIN_STMT
  5277. if (ux_2 != 2)
  5278. goto <bb 4>; [66.67%]
  5279. else
  5280. goto <bb 8>; [33.33%]
  5281. <bb 8> [local count: 250539]:
  5282. return;
  5283. }
  5284. ;; Function vQueueDelete (vQueueDelete, funcdef_no=25, decl_uid=6323, cgraph_uid=26, symbol_order=26)
  5285. Modification phase of node vQueueDelete/26
  5286. vQueueDelete (struct QueueDefinition * xQueue)
  5287. {
  5288. uint32_t ulNewBASEPRI;
  5289. <bb 2> [local count: 230763]:
  5290. # DEBUG BEGIN_STMT
  5291. # DEBUG pxQueue => xQueue_1(D)
  5292. # DEBUG BEGIN_STMT
  5293. if (xQueue_1(D) == 0B)
  5294. goto <bb 3>; [46.53%]
  5295. else
  5296. goto <bb 5>; [53.47%]
  5297. <bb 3> [local count: 107374]:
  5298. # DEBUG BEGIN_STMT
  5299. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5300. # DEBUG BEGIN_STMT
  5301. # DEBUG BEGIN_STMT
  5302. __asm__ __volatile__(" mov %0, %1
  5303. msr basepri, %0
  5304. isb
  5305. dsb
  5306. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  5307. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  5308. <bb 4> [local count: 1073741824]:
  5309. # DEBUG ulNewBASEPRI => NULL
  5310. # DEBUG BEGIN_STMT
  5311. # DEBUG BEGIN_STMT
  5312. # DEBUG BEGIN_STMT
  5313. <bb 6> [local count: 1073741824]:
  5314. goto <bb 4>; [100.00%]
  5315. <bb 5> [local count: 123389]:
  5316. # DEBUG BEGIN_STMT
  5317. # DEBUG BEGIN_STMT
  5318. # DEBUG BEGIN_STMT
  5319. vQueueUnregisterQueue (xQueue_1(D));
  5320. # DEBUG BEGIN_STMT
  5321. vPortFree (xQueue_1(D));
  5322. return;
  5323. }
  5324. ;; Function vQueueWaitForMessageRestricted (vQueueWaitForMessageRestricted, funcdef_no=40, decl_uid=6409, cgraph_uid=41, symbol_order=41)
  5325. Modification phase of node vQueueWaitForMessageRestricted/41
  5326. vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
  5327. {
  5328. signed char _1;
  5329. signed char _2;
  5330. long unsigned int _3;
  5331. struct List_t * _4;
  5332. <bb 2> [local count: 1073741824]:
  5333. # DEBUG BEGIN_STMT
  5334. # DEBUG pxQueue => xQueue_8(D)
  5335. # DEBUG BEGIN_STMT
  5336. vPortEnterCritical ();
  5337. # DEBUG BEGIN_STMT
  5338. _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock;
  5339. if (_1 == -1)
  5340. goto <bb 3>; [34.00%]
  5341. else
  5342. goto <bb 4>; [66.00%]
  5343. <bb 3> [local count: 365072220]:
  5344. # DEBUG BEGIN_STMT
  5345. MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0;
  5346. <bb 4> [local count: 1073741824]:
  5347. # DEBUG BEGIN_STMT
  5348. _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock;
  5349. if (_2 == -1)
  5350. goto <bb 5>; [34.00%]
  5351. else
  5352. goto <bb 6>; [66.00%]
  5353. <bb 5> [local count: 365072220]:
  5354. # DEBUG BEGIN_STMT
  5355. MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0;
  5356. <bb 6> [local count: 1073741824]:
  5357. # DEBUG BEGIN_STMT
  5358. vPortExitCritical ();
  5359. # DEBUG BEGIN_STMT
  5360. _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting;
  5361. if (_3 == 0)
  5362. goto <bb 7>; [33.00%]
  5363. else
  5364. goto <bb 8>; [67.00%]
  5365. <bb 7> [local count: 354334802]:
  5366. # DEBUG BEGIN_STMT
  5367. _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive;
  5368. vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));
  5369. <bb 8> [local count: 1073741824]:
  5370. # DEBUG BEGIN_STMT
  5371. # DEBUG BEGIN_STMT
  5372. prvUnlockQueue (xQueue_8(D));
  5373. return;
  5374. }