1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00
Commit graph

6 commits

Author SHA1 Message Date
Jim Blandy
67b2561b50 * guardians.c (scm_guardian_zombify): Separate scanning for
zombies from marking the pairs of the free list.
1999-07-19 18:57:02 +00:00
Jim Blandy
55b7e0bd82 * guardians.c (scm_guardian_zombify): Don't set marks manually ---
use the macros.  (Thanks to Michael Livshin.)
1999-07-19 18:45:57 +00:00
Mikael Djurfeldt
23a621512f Greg's smob patch 1999-07-07 09:44:01 +00:00
Jim Blandy
01a119acae * guardians.c (guardian_t): `next' - new field to be used for
chaining the live guardians in a single-linked list during the GC
mark phase.
(GUARDIAN_NEXT): convenience macro to access the `next' field.
(guardians, guardians_size, n_guardians): deleted.
(first_live_guardian, current_link_field): new globals used to
point to the head of the live guardian list and current `next'
field, respectively.
(g_mark): append the guardian to the live guardian list.
(scm_guardian_gc_init): zero the live guardian list.
(scm_guardian_zombify): iterate through the live guardian list.
1999-06-19 16:11:38 +00:00
Mikael Djurfeldt
56366edf29 * fluids.c, guardians.c, srcprop.c, threads.c: Added #include
"genio.h".
1999-05-23 10:03:14 +00:00
Mikael Djurfeldt
e1f2bf99e9 * guardians.c, guardians.h (scm_make_guardian,
scm_guardian_gc_init, scm_guardian_zombify, scm_guard,
scm_get_one_zombie, scm_init_guardian): This is an implementation
of guardians as described in R. Kent Dybvig, Carl Bruggeman, and
David Eby (1993) "Guardians in a Generation-Based Garbage
Collector" ACM SIGPLAN Conference on Programming Language Design
and Implementation, June 1993 ftp://ftp.cs.indiana.edu
/pub/scheme-repository/doc/pubs/guardians.ps.gz
Author: Michael	N. Livshin.
1998-12-23 06:38:06 +00:00