1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 18:40:22 +02:00

bdw: Turn off all_interior_pointers

Quoth gc_inline.h, which makes freelists:

/* Note that for these routines, it is the clients responsibility to    */
/* add the extra byte at the end to deal with one-past-the-end pointers.*/
/* In the standard collector configuration, the collector assumes that  */
/* such a byte has been added, and hence does not trace the last word   */
/* in the resulting object.                                             */
/* This is not an issue if the collector is compiled with               */
/* DONT_ADD_BYTE_AT_END, or if GC_all_interior_pointers is not set.     */
This commit is contained in:
Andy Wingo 2023-10-07 23:09:10 +02:00
parent 9936d98f70
commit 3c63de9b9d

View file

@ -359,6 +359,8 @@ int gc_init(const struct gc_options *options, struct gc_stack_addr *stack_base,
return 0;
}
GC_set_all_interior_pointers (0);
// Not part of 7.3, sigh. Have to set an env var.
// GC_set_markers_count(options->common.parallelism);
char markers[21] = {0,}; // 21 bytes enough for 2**64 in decimal + NUL.