1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-30 06:50:31 +02:00
Commit graph

109 commits

Author SHA1 Message Date
Andy Wingo
3c63de9b9d 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.     */
2023-10-07 23:09:10 +02:00
Andy Wingo
9936d98f70 Rework heap marking 2023-10-02 22:48:59 +02:00
Andy Wingo
41591d8722 bdw: Ensure heap and mutators are live
Before, we were relying on the heap and mutators being reachable from
roots.  This is no longer the case.
2023-09-30 21:58:46 +02:00
Andy Wingo
4d1358219b Fix amazing error in bdw.c 2023-09-22 15:19:55 +02:00
Andy Wingo
296e5e8458 BDW collector marks mutator/heap roots
Needed if a mutator has off-heap (mmap) storage.
2023-09-21 10:08:23 +02:00
Andy Wingo
dc013cfb58 Change gc_allocate_ephemeron to return struct gc_ephemeron 2023-09-11 11:48:32 +02:00
Andy Wingo
db36c48efd Update extern space API to allow for evacuation 2023-08-16 11:08:12 +02:00
Andy Wingo
fbe49598f5 Add "extern space"
This is mostly for static data.
2023-08-15 11:38:11 +02:00
Andy Wingo
e6de2fd633 Reorganize source tree and document 2023-08-06 12:04:33 +02:00