- putw(CORE_INITIAL_FUNCTION, file);
- putw(3, file);
- putw(init_function, file);
+ write_lispobj(INITIAL_FUN_CORE_ENTRY_TYPE_CODE, file);
+ write_lispobj(3, file);
+ write_lispobj(init_function, file);
+
+#ifdef LISP_FEATURE_GENCGC
+ {
+ size_t size = (last_free_page*sizeof(long)+os_vm_page_size-1)
+ &~(os_vm_page_size-1);
+ long *data = calloc(size, 1);
+ if (data) {
+ long offset;
+ int i;
+ for (i = 0; i < last_free_page; i++) {
+ data[i] = page_table[i].first_object_offset;
+ }
+ write_lispobj(PAGE_TABLE_CORE_ENTRY_TYPE_CODE, file);
+ write_lispobj(4, file);
+ write_lispobj(size, file);
+ offset = write_bytes(file, (char *) data, size);
+ write_lispobj(offset, file);
+ }
+ }
+#endif