list.c.075i.fnsummary 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. Symbol table:
  2. uxListRemove/8 (uxListRemove) @06b86380
  3. Type: function definition analyzed
  4. Visibility: force_output externally_visible no_reorder public
  5. References:
  6. Referring:
  7. Availability: available
  8. Function flags: body
  9. Called by:
  10. Calls:
  11. vListInsert/7 (vListInsert) @06b86d20
  12. Type: function definition analyzed
  13. Visibility: force_output externally_visible no_reorder public
  14. References:
  15. Referring:
  16. Availability: available
  17. Function flags: body
  18. Called by:
  19. Calls:
  20. vListInsertEnd/6 (vListInsertEnd) @06b86a80
  21. Type: function definition analyzed
  22. Visibility: force_output externally_visible no_reorder public
  23. References:
  24. Referring:
  25. Availability: available
  26. Function flags: body
  27. Called by:
  28. Calls:
  29. vListInitialiseItem/5 (vListInitialiseItem) @06b867e0
  30. Type: function definition analyzed
  31. Visibility: force_output externally_visible no_reorder public
  32. References:
  33. Referring:
  34. Availability: available
  35. Function flags: body
  36. Called by:
  37. Calls:
  38. vListInitialise/4 (vListInitialise) @06b86540
  39. Type: function definition analyzed
  40. Visibility: force_output externally_visible no_reorder public
  41. References:
  42. Referring:
  43. Availability: available
  44. Function flags: body
  45. Called by:
  46. Calls:
  47. uxListRemove (struct ListItem_t * const pxItemToRemove)
  48. {
  49. struct List_t * const pxList;
  50. UBaseType_t D.6028;
  51. struct xLIST_ITEM * _1;
  52. struct xLIST_ITEM * _2;
  53. struct xLIST_ITEM * _3;
  54. struct xLIST_ITEM * _4;
  55. struct ListItem_t * _5;
  56. struct xLIST_ITEM * _6;
  57. long unsigned int _7;
  58. long unsigned int _8;
  59. UBaseType_t _18;
  60. <bb 2> :
  61. pxList_12 = pxItemToRemove_11(D)->pvContainer;
  62. _1 = pxItemToRemove_11(D)->pxNext;
  63. _2 = pxItemToRemove_11(D)->pxPrevious;
  64. _1->pxPrevious = _2;
  65. _3 = pxItemToRemove_11(D)->pxPrevious;
  66. _4 = pxItemToRemove_11(D)->pxNext;
  67. _3->pxNext = _4;
  68. _5 = pxList_12->pxIndex;
  69. if (pxItemToRemove_11(D) == _5)
  70. goto <bb 3>; [INV]
  71. else
  72. goto <bb 4>; [INV]
  73. <bb 3> :
  74. _6 = pxItemToRemove_11(D)->pxPrevious;
  75. pxList_12->pxIndex = _6;
  76. <bb 4> :
  77. pxItemToRemove_11(D)->pvContainer = 0B;
  78. _7 ={v} pxList_12->uxNumberOfItems;
  79. _8 = _7 + 4294967295;
  80. pxList_12->uxNumberOfItems ={v} _8;
  81. _18 ={v} pxList_12->uxNumberOfItems;
  82. <bb 5> :
  83. <L3>:
  84. return _18;
  85. }
  86. vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  87. {
  88. const TickType_t xValueOfInsertion;
  89. struct ListItem_t * pxIterator;
  90. struct xLIST_ITEM * _1;
  91. long unsigned int _2;
  92. struct xLIST_ITEM * _3;
  93. struct xLIST_ITEM * _4;
  94. long unsigned int _5;
  95. long unsigned int _6;
  96. <bb 2> :
  97. xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
  98. if (xValueOfInsertion_11 == 4294967295)
  99. goto <bb 3>; [INV]
  100. else
  101. goto <bb 4>; [INV]
  102. <bb 3> :
  103. pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
  104. goto <bb 7>; [INV]
  105. <bb 4> :
  106. pxIterator_13 = &pxList_12(D)->xListEnd;
  107. goto <bb 6>; [INV]
  108. <bb 5> :
  109. pxIterator_14 = pxIterator_7->pxNext;
  110. <bb 6> :
  111. # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
  112. _1 = pxIterator_7->pxNext;
  113. _2 = _1->xItemValue;
  114. if (xValueOfInsertion_11 >= _2)
  115. goto <bb 5>; [INV]
  116. else
  117. goto <bb 7>; [INV]
  118. <bb 7> :
  119. # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
  120. _3 = pxIterator_8->pxNext;
  121. pxNewListItem_10(D)->pxNext = _3;
  122. _4 = pxNewListItem_10(D)->pxNext;
  123. _4->pxPrevious = pxNewListItem_10(D);
  124. pxNewListItem_10(D)->pxPrevious = pxIterator_8;
  125. pxIterator_8->pxNext = pxNewListItem_10(D);
  126. pxNewListItem_10(D)->pvContainer = pxList_12(D);
  127. _5 ={v} pxList_12(D)->uxNumberOfItems;
  128. _6 = _5 + 1;
  129. pxList_12(D)->uxNumberOfItems ={v} _6;
  130. return;
  131. }
  132. vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  133. {
  134. struct ListItem_t * const pxIndex;
  135. struct xLIST_ITEM * _1;
  136. struct xLIST_ITEM * _2;
  137. long unsigned int _3;
  138. long unsigned int _4;
  139. <bb 2> :
  140. pxIndex_7 = pxList_6(D)->pxIndex;
  141. pxNewListItem_8(D)->pxNext = pxIndex_7;
  142. _1 = pxIndex_7->pxPrevious;
  143. pxNewListItem_8(D)->pxPrevious = _1;
  144. _2 = pxIndex_7->pxPrevious;
  145. _2->pxNext = pxNewListItem_8(D);
  146. pxIndex_7->pxPrevious = pxNewListItem_8(D);
  147. pxNewListItem_8(D)->pvContainer = pxList_6(D);
  148. _3 ={v} pxList_6(D)->uxNumberOfItems;
  149. _4 = _3 + 1;
  150. pxList_6(D)->uxNumberOfItems ={v} _4;
  151. return;
  152. }
  153. vListInitialiseItem (struct ListItem_t * const pxItem)
  154. {
  155. <bb 2> :
  156. pxItem_2(D)->pvContainer = 0B;
  157. return;
  158. }
  159. vListInitialise (struct List_t * const pxList)
  160. {
  161. struct MiniListItem_t * _1;
  162. struct MiniListItem_t * _2;
  163. struct MiniListItem_t * _3;
  164. <bb 2> :
  165. _1 = &pxList_4(D)->xListEnd;
  166. pxList_4(D)->pxIndex = _1;
  167. pxList_4(D)->xListEnd.xItemValue = 4294967295;
  168. _2 = &pxList_4(D)->xListEnd;
  169. pxList_4(D)->xListEnd.pxNext = _2;
  170. _3 = &pxList_4(D)->xListEnd;
  171. pxList_4(D)->xListEnd.pxPrevious = _3;
  172. pxList_4(D)->uxNumberOfItems ={v} 0;
  173. return;
  174. }