gencgc: Commentary fix for struct page, field region_start_offset.
authorAlastair Bridgewater <alastair.bridgewater@gmail.com>
Mon, 13 May 2013 22:41:11 +0000 (18:41 -0400)
committerAlastair Bridgewater <nyef@kana.lisphacker.com>
Mon, 20 May 2013 19:51:21 +0000 (15:51 -0400)
  * 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

index bbffe83..389a317 100644 (file)
@@ -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;