mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +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
|
@ -562,7 +562,7 @@ prindebugobj (obj, port, pstate)
|
|||
}
|
||||
|
||||
static scm_smobfuns debugobjsmob =
|
||||
{scm_mark0, scm_free0, prindebugobj, 0};
|
||||
{0, scm_free0, prindebugobj, 0};
|
||||
|
||||
SCM_PROC (s_debug_object_p, "debug-object?", 1, 0, 0, scm_debug_object_p);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue