Re: Unordered finalization, SMOBs, finalizers, and mark functions

2015-03-10 Thread Ludovic Courtès
Andy Wingo skribis: > On Wed 04 Mar 2015 11:10, l...@gnu.org (Ludovic Courtès) writes: > >> diff --git a/libguile/gc.c b/libguile/gc.c >> index 097cb3d..78999c2 100644 >> --- a/libguile/gc.c >> +++ b/libguile/gc.c >> @@ -609,6 +609,7 @@ scm_storage_prehistory () >>target_free_space_divisor =

Re: Unordered finalization, SMOBs, finalizers, and mark functions

2015-03-09 Thread Andy Wingo
On Wed 04 Mar 2015 11:10, l...@gnu.org (Ludovic Courtès) writes: > diff --git a/libguile/gc.c b/libguile/gc.c > index 097cb3d..78999c2 100644 > --- a/libguile/gc.c > +++ b/libguile/gc.c > @@ -609,6 +609,7 @@ scm_storage_prehistory () >target_free_space_divisor = free_space_divisor; >GC_set

Re: Unordered finalization, SMOBs, finalizers, and mark functions

2015-03-04 Thread Ludovic Courtès
Andy Wingo skribis: > Open question: should Guile configure the BDW GC in a different way? > Topological finalization is desirable for all the reasons Boehm links in > that first article. Should it allow the user to configure it? I > believe it is currently unordered due to issues with guardian

Unordered finalization, SMOBs, finalizers, and mark functions

2015-01-26 Thread Andy Wingo
Hi, Guile currently uses the Boehm-Demers-Weiser collector with "Java-style finalization", which is to say that finalizers are unordered. This is good in the sense that Guile's GC can collect cycles of objects with finalizers that point to each other. It also has some understudied disadvantages