* Simply describing region_start_offset as being related to an
allocation region which contains a page is disingenuous at best,
and misleading at worst. Its relation with an alloc_region is due
to its initialization strategy, and has nothing to do with what
the value is for.
* Say it like it is, it's an offset to a known object boundary,
from where we can start a call to gc_search_space() or scavenge().
That's what it's for, not for keeping track of alloc_regions.
* output the C version in genesis. -- JES, 2006-12-30.
*/
struct page {
- /* This is the offset from the start of the page to the start of
- * the alloc_region which contains/contained it.
+ /* This is the offset from the first byte of some object in memory
+ * prior to and no closer than the start of the page to the start
+ * of the page. Lower values here are better, 0 is ideal. This
+ * is useful for determining where to start when scanning forward
+ * through a heap page (either for conservative root validation or
+ * for scavenging).
*/
os_vm_size_t region_start_offset;