list.c.016i.visibility 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. Marking local functions:
  2. Marking externally visible functions: uxListRemove vListInsert vListInsertEnd vListInitialiseItem vListInitialise
  3. Marking externally visible variables:
  4. Reclaiming functions:
  5. Reclaiming variables:
  6. Clearing address taken flags:
  7. Symbol table:
  8. uxListRemove/8 (uxListRemove) @06a23ee0
  9. Type: function definition analyzed
  10. Visibility: externally_visible public
  11. References:
  12. Referring:
  13. Availability: available
  14. Function flags: body optimize_size
  15. Called by:
  16. Calls:
  17. vListInsert/7 (vListInsert) @06a23c40
  18. Type: function definition analyzed
  19. Visibility: externally_visible public
  20. References:
  21. Referring:
  22. Availability: available
  23. Function flags: body optimize_size
  24. Called by:
  25. Calls:
  26. vListInsertEnd/6 (vListInsertEnd) @06a239a0
  27. Type: function definition analyzed
  28. Visibility: externally_visible public
  29. References:
  30. Referring:
  31. Availability: available
  32. Function flags: body optimize_size
  33. Called by:
  34. Calls:
  35. vListInitialiseItem/5 (vListInitialiseItem) @06a23700
  36. Type: function definition analyzed
  37. Visibility: externally_visible public
  38. References:
  39. Referring:
  40. Availability: available
  41. Function flags: body optimize_size
  42. Called by:
  43. Calls:
  44. vListInitialise/4 (vListInitialise) @06a23460
  45. Type: function definition analyzed
  46. Visibility: externally_visible public
  47. References:
  48. Referring:
  49. Availability: available
  50. Function flags: body optimize_size
  51. Called by:
  52. Calls:
  53. uxListRemove (struct ListItem_t * const pxItemToRemove)
  54. {
  55. struct List_t * const pxList;
  56. UBaseType_t D.6027;
  57. <bb 2> :
  58. # DEBUG BEGIN_STMT
  59. pxList = pxItemToRemove->pvContainer;
  60. # DEBUG BEGIN_STMT
  61. _1 = pxItemToRemove->pxNext;
  62. _2 = pxItemToRemove->pxPrevious;
  63. _1->pxPrevious = _2;
  64. # DEBUG BEGIN_STMT
  65. _3 = pxItemToRemove->pxPrevious;
  66. _4 = pxItemToRemove->pxNext;
  67. _3->pxNext = _4;
  68. # DEBUG BEGIN_STMT
  69. # DEBUG BEGIN_STMT
  70. _5 = pxList->pxIndex;
  71. if (pxItemToRemove == _5)
  72. goto <bb 3>; [INV]
  73. else
  74. goto <bb 4>; [INV]
  75. <bb 3> :
  76. # DEBUG BEGIN_STMT
  77. _6 = pxItemToRemove->pxPrevious;
  78. pxList->pxIndex = _6;
  79. <bb 4> :
  80. # DEBUG BEGIN_STMT
  81. # DEBUG BEGIN_STMT
  82. pxItemToRemove->pvContainer = 0B;
  83. # DEBUG BEGIN_STMT
  84. _7 = pxList->uxNumberOfItems;
  85. _8 = _7 + 4294967295;
  86. pxList->uxNumberOfItems = _8;
  87. # DEBUG BEGIN_STMT
  88. D.6027 = pxList->uxNumberOfItems;
  89. return D.6027;
  90. }
  91. vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  92. {
  93. const TickType_t xValueOfInsertion;
  94. struct ListItem_t * pxIterator;
  95. <bb 2> :
  96. # DEBUG BEGIN_STMT
  97. # DEBUG BEGIN_STMT
  98. xValueOfInsertion = pxNewListItem->xItemValue;
  99. # DEBUG BEGIN_STMT
  100. # DEBUG BEGIN_STMT
  101. # DEBUG BEGIN_STMT
  102. if (xValueOfInsertion == 4294967295)
  103. goto <bb 3>; [INV]
  104. else
  105. goto <bb 4>; [INV]
  106. <bb 3> :
  107. # DEBUG BEGIN_STMT
  108. pxIterator = pxList->xListEnd.pxPrevious;
  109. goto <bb 7>; [INV]
  110. <bb 4> :
  111. # DEBUG BEGIN_STMT
  112. pxIterator = &pxList->xListEnd;
  113. goto <bb 6>; [INV]
  114. <bb 5> :
  115. # DEBUG BEGIN_STMT
  116. # DEBUG BEGIN_STMT
  117. pxIterator = pxIterator->pxNext;
  118. <bb 6> :
  119. # DEBUG BEGIN_STMT
  120. _1 = pxIterator->pxNext;
  121. _2 = _1->xItemValue;
  122. if (xValueOfInsertion >= _2)
  123. goto <bb 5>; [INV]
  124. else
  125. goto <bb 7>; [INV]
  126. <bb 7> :
  127. # DEBUG BEGIN_STMT
  128. _3 = pxIterator->pxNext;
  129. pxNewListItem->pxNext = _3;
  130. # DEBUG BEGIN_STMT
  131. _4 = pxNewListItem->pxNext;
  132. _4->pxPrevious = pxNewListItem;
  133. # DEBUG BEGIN_STMT
  134. pxNewListItem->pxPrevious = pxIterator;
  135. # DEBUG BEGIN_STMT
  136. pxIterator->pxNext = pxNewListItem;
  137. # DEBUG BEGIN_STMT
  138. pxNewListItem->pvContainer = pxList;
  139. # DEBUG BEGIN_STMT
  140. _5 = pxList->uxNumberOfItems;
  141. _6 = _5 + 1;
  142. pxList->uxNumberOfItems = _6;
  143. return;
  144. }
  145. vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  146. {
  147. struct ListItem_t * const pxIndex;
  148. <bb 2> :
  149. # DEBUG BEGIN_STMT
  150. pxIndex = pxList->pxIndex;
  151. # DEBUG BEGIN_STMT
  152. # DEBUG BEGIN_STMT
  153. # DEBUG BEGIN_STMT
  154. pxNewListItem->pxNext = pxIndex;
  155. # DEBUG BEGIN_STMT
  156. _1 = pxIndex->pxPrevious;
  157. pxNewListItem->pxPrevious = _1;
  158. # DEBUG BEGIN_STMT
  159. # DEBUG BEGIN_STMT
  160. _2 = pxIndex->pxPrevious;
  161. _2->pxNext = pxNewListItem;
  162. # DEBUG BEGIN_STMT
  163. pxIndex->pxPrevious = pxNewListItem;
  164. # DEBUG BEGIN_STMT
  165. pxNewListItem->pvContainer = pxList;
  166. # DEBUG BEGIN_STMT
  167. _3 = pxList->uxNumberOfItems;
  168. _4 = _3 + 1;
  169. pxList->uxNumberOfItems = _4;
  170. return;
  171. }
  172. vListInitialiseItem (struct ListItem_t * const pxItem)
  173. {
  174. <bb 2> :
  175. # DEBUG BEGIN_STMT
  176. pxItem->pvContainer = 0B;
  177. # DEBUG BEGIN_STMT
  178. # DEBUG BEGIN_STMT
  179. return;
  180. }
  181. vListInitialise (struct List_t * const pxList)
  182. {
  183. <bb 2> :
  184. # DEBUG BEGIN_STMT
  185. _1 = &pxList->xListEnd;
  186. pxList->pxIndex = _1;
  187. # DEBUG BEGIN_STMT
  188. pxList->xListEnd.xItemValue = 4294967295;
  189. # DEBUG BEGIN_STMT
  190. _2 = &pxList->xListEnd;
  191. pxList->xListEnd.pxNext = _2;
  192. # DEBUG BEGIN_STMT
  193. _3 = &pxList->xListEnd;
  194. pxList->xListEnd.pxPrevious = _3;
  195. # DEBUG BEGIN_STMT
  196. pxList->uxNumberOfItems = 0;
  197. # DEBUG BEGIN_STMT
  198. # DEBUG BEGIN_STMT
  199. return;
  200. }