mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 15:40:19 +02:00
Simplify smob and port marking; set the mark bit in the generic
marking code, and make marker routines only responsible for turning up outgoing pointers. * gc.c (scm_gc_mark): Set the mark bit on ports and smobs here, before calling the marking function. Don't call the marking function if it's zero. * markers.c (scm_mark0): Just return #f. This function isn't necessary at all now, but it's harmless to call it. We'll leave it in so other folks' code doesn't croak at link time. (scm_markcdr): Don't call SCM_SETGC8MARK. * async.c (mark_async): Don't call SCM_SETGC8MARK. * dynl.c (mark_dynl_obj): Same. * root.c (mark_root): Same. * srcprop.c (marksrcprops): Same. * unif.c (markra): Same. * variable.c (scm_markvar): Same. * ports.c (scm_markstream): Same. (void_port_ptob): Specify zero for our marking function. * debug.c (debugobjsmob): Same. * dynwind.c (guardsmob): Same. * filesys.c (dir_smob): Same. * fluids.c (fluid_smob): Same. * fports.c (scm_fptob, scm_pipob): Same. * mallocs.c (mallocsmob): Same. * regex-posix.c (regex_t_smob): Same. * smob.c (freecell, flob, bigob): Same. * threads.c (thread_smob, mutex_smob, condvar_smob): Same. * throw.c (jbsmob, lazy_catch_funs): Same.
This commit is contained in:
parent
6f4d962200
commit
dc53f02690
19 changed files with 45 additions and 43 deletions
|
@ -95,7 +95,7 @@ print_thread (exp, port, pstate)
|
|||
|
||||
static scm_smobfuns thread_smob =
|
||||
{
|
||||
scm_mark0,
|
||||
0,
|
||||
scm_threads_free_thread,
|
||||
print_thread,
|
||||
0
|
||||
|
@ -115,7 +115,7 @@ print_mutex (exp, port, pstate)
|
|||
|
||||
static scm_smobfuns mutex_smob =
|
||||
{
|
||||
scm_mark0,
|
||||
0,
|
||||
scm_threads_free_mutex,
|
||||
print_mutex,
|
||||
0
|
||||
|
@ -135,7 +135,7 @@ print_condvar (exp, port, pstate)
|
|||
|
||||
static scm_smobfuns condvar_smob =
|
||||
{
|
||||
scm_mark0,
|
||||
0,
|
||||
scm_threads_free_condvar,
|
||||
print_condvar,
|
||||
0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue