+ /* The name of this field is not well-chosen for its actual use.
+ * This is the offset from the start of the page to the start
+ * of the alloc_region which contains/contained it. It's negative or 0
+ */
+ long first_object_offset;
+
+ /* the number of bytes of this page that are used. This may be less
+ * than the actual bytes used for pages within the current
+ * allocation regions. It should be 0 for all unallocated pages (not
+ * hard to achieve).
+ *
+ * Currently declared as an unsigned short to make the struct size
+ * smaller. This means that GENCGC-PAGE-SIZE is constrained to fit
+ * inside a short.
+ */
+ unsigned short bytes_used;
+
+#if USHRT_MAX < PAGE_BYTES
+#error "PAGE_BYTES too large"
+#endif