Changes between Version 2 and Version 3 of Commentary/Rts/Storage/BlockAlloc


Ignore:
Timestamp:
Oct 5, 2009 5:57:15 PM (5 years ago)
Author:
diatchki
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Rts/Storage/BlockAlloc

    v2 v3  
    33= The Block Allocator = 
    44 
    5 Source: [[GhcFile(includes/Block.h)]], [[GhcFile(rts/BlockAlloc.h)]], [[GhcFile(rts/BlockAlloc.c)]], [[GhcFile(rts/MBlock.h)]], [[GhcFile(rts/MBlock.c)]]. 
     5Source: [[GhcFile(includes/rts/storage/Block.h)]], [[GhcFile(rts/sm/BlockAlloc.h)]], [[GhcFile(rts/sm/BlockAlloc.c)]], [[GhcFile(includes/rts/storage/MBlock.h)]], [[GhcFile(rts/sm/MBlock.c)]]. 
    66 
    77The block allocator is where the storage manager derives much of its flexibilty.  Rather than keep our heap in a single contiguous region of memory, or one contiguous region per generation, we manage linked lists of memory blocks.  Managing contiguous regions is difficult, especially when you want to change the size of some of the areas.  A block-structured storage arrangement has several advantages: