Use double-cells to store subrs.
authorLudovic Courtès <ludo@gnu.org>
Wed, 11 Feb 2009 23:02:11 +0000 (00:02 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 11 Feb 2009 23:02:11 +0000 (00:02 +0100)
commitac51e74b9533cc3df8fe9656b97a6385a6e71b80
tree418eaa30271aab9f36e4c8562cf016087cfca84a
parentfeccd2d3100fd2964d4c2df58ab3da7ce4949a66
Use double-cells to store subrs.

* libguile/procs.c (scm_subr_table, scm_subr_table_size,
  scm_subr_table_room, subr_table_gc_hint, scm_init_subr_table,
  scm_mark_subr_table): Remove.
  (scm_c_make_subr): Simply return a double-cell, with the procedure
  name and properties stored in a two-element array.
  (scm_free_subr_entry): Free the meta-info slot.

* libguile/init.c (scm_i_init_guile): Remove call to
  `scm_init_subr_table ()'.

* libguile/procs.h (SCM_SUBR_META_INFO): New macro.
  (SCM_SNAME, SCM_SUBR_PROPS): Use it.
  (SCM_SUBR_GENERIC, SCM_SET_SUBR_GENERIC, SCM_SET_SUBR_GENERIC_LOC):
  Update.
  (scm_t_subr_entry, SCM_SUBR_ENTRY, SCM_SUBRNUM, scm_subr_table,
  scm_mark_subr_table, scm_init_subr_table): Remove.
libguile/gc-mark.c
libguile/init.c
libguile/procs.c
libguile/procs.h