From 8e6b746f034c8632394c56a4aa43c38333335a2e Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Mon, 13 May 2013 18:41:11 -0400 Subject: [PATCH] gencgc: Commentary fix for struct page, field region_start_offset. * 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. --- src/runtime/gencgc-internal.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/runtime/gencgc-internal.h b/src/runtime/gencgc-internal.h index bbffe83..389a317 100644 --- a/src/runtime/gencgc-internal.h +++ b/src/runtime/gencgc-internal.h @@ -51,8 +51,12 @@ int gencgc_handle_wp_violation(void *); * 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; -- 1.7.10.4