Ben Gamari pushed to branch wip/T26009 at Glasgow Haskell Compiler / GHC
Commits:
-
9631a12c
by Ben Gamari at 2025-05-22T17:24:03-04:00
1 changed file:
Changes:
| ... | ... | @@ -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"
|