UINTN NoPages;\r
UINTN Size;\r
CHAR8 *NewPage;\r
- UINTN FSize;\r
UINTN Offset;\r
BOOLEAN AllFree;\r
UINTN Granularity;\r
\r
if (Free->Signature == POOL_FREE_SIGNATURE) {\r
\r
- Index = Free->Index;\r
-\r
AllFree = TRUE;\r
Offset = 0;\r
\r
while ((Offset < Granularity) && (AllFree)) {\r
- FSize = LIST_TO_SIZE(Index);\r
- while (Offset + FSize <= Granularity) {\r
- Free = (POOL_FREE *) &NewPage[Offset];\r
- ASSERT(Free != NULL);\r
- if (Free->Signature != POOL_FREE_SIGNATURE) {\r
- AllFree = FALSE;\r
- }\r
- Offset += FSize;\r
+ Free = (POOL_FREE *) &NewPage[Offset];\r
+ ASSERT(Free != NULL);\r
+ if (Free->Signature != POOL_FREE_SIGNATURE) {\r
+ AllFree = FALSE;\r
}\r
- Index -= 1;\r
+ Offset += LIST_TO_SIZE(Free->Index);\r
}\r
\r
if (AllFree) {\r
//\r
Free = (POOL_FREE *) &NewPage[0];\r
ASSERT(Free != NULL);\r
- Index = Free->Index;\r
Offset = 0;\r
\r
while (Offset < Granularity) {\r
- FSize = LIST_TO_SIZE(Index);\r
- while (Offset + FSize <= Granularity) {\r
- Free = (POOL_FREE *) &NewPage[Offset];\r
- ASSERT(Free != NULL);\r
- RemoveEntryList (&Free->Link);\r
- Offset += FSize;\r
- }\r
- Index -= 1;\r
+ Free = (POOL_FREE *) &NewPage[Offset];\r
+ ASSERT(Free != NULL);\r
+ RemoveEntryList (&Free->Link);\r
+ Offset += LIST_TO_SIZE(Free->Index);\r
}\r
\r
//\r