Esempio n. 1
0
 private static void LinkAfter(PersistentHeapFreeSpace freedSpace, PersistentHeapFreeSpace after)
 {
     if (after == null) // there is no free space after the freed space
     {
         freedSpace.NextFreeSpace = FreeLinkedListNullPointer;
     }
     else // there is at least one free space after freed space
     {
         if (freedSpace.IsDirectlyBefore(after)) // the space after is next to freed space
         {
             freedSpace.MergeAfter(after);
         }
         else // the space after is not next to freed space
         {
             freedSpace.NextFreeSpace = after.StartIndex;
         }
     }
 }