Ben Gamari pushed to branch wip/T26009 at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • rts/linker/ProddableBlocks.c
    ... ... @@ -8,9 +8,16 @@
    8 8
     
    
    9 9
     
    
    10 10
     /*
    
    11
    - * Sanity checking.  For each ObjectCode, maintain a list of address ranges
    
    12
    - * which may be prodded during relocation, and abort if we try and write
    
    13
    - * outside any of these.
    
    11
    + * Note [Proddable blocks]
    
    12
    + * ~~~~~~~~~~~~~~~~~~~~~~~
    
    13
    + * For each ObjectCode, we maintain a ProddableBlockSet representing the set of
    
    14
    + * address ranges containing data belonging to the object. This set is
    
    15
    + * represented here as an array of intervals sorted by start address. This
    
    16
    + * allows us to efficiently query and insert via binary search. Array resizing
    
    17
    + * is done according to an exponential growth schedule.
    
    18
    + *
    
    19
    + * While performing relocations we check against this set and and abort if we
    
    20
    + * try and write outside any of these.
    
    14 21
      */
    
    15 22
     
    
    16 23
     #include "Rts.h"