summaryrefslogtreecommitdiff
path: root/libguile/bitvectors.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-09-25 13:45:16 +0200
committerLudovic Courtès <ludo@gnu.org>2009-09-28 23:32:34 +0200
commit8cf0dd6104c58f68e0f0ecdf0ab28a033754acf1 (patch)
tree7a47d3e264690a1761dbbe7118b8853798de3cb5 /libguile/bitvectors.c
parent3051344be566178999dd8679744e9c3ae9921de4 (diff)
downloadguile-8cf0dd6104c58f68e0f0ecdf0ab28a033754acf1.tar.gz
Remove unneeded SMOB/port mark/free procedures.
* libguile/arrays.c (array_mark, array_free): Remove. (scm_init_arrays): Adjust accordingly. * libguile/bitvectors.c (bitvector_free): Remove. (scm_c_make_bitvector): Use `scm_gc_malloc_pointerless ()'. (scm_init_bitvectors): Adjust accordingly. * libguile/strports.c (scm_make_stptob): Remove `scm_set_port_mark ()' call. * libguile/vports.c (scm_make_sfptob): Likewise.
Diffstat (limited to 'libguile/bitvectors.c')
-rw-r--r--libguile/bitvectors.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/libguile/bitvectors.c b/libguile/bitvectors.c
index f1d8473d9..c3b6f3e4e 100644
--- a/libguile/bitvectors.c
+++ b/libguile/bitvectors.c
@@ -45,15 +45,6 @@ static scm_t_bits scm_tc16_bitvector;
#define BITVECTOR_BITS(obj) ((scm_t_uint32 *)SCM_SMOB_DATA(obj))
#define BITVECTOR_LENGTH(obj) ((size_t)SCM_SMOB_DATA_2(obj))
-static size_t
-bitvector_free (SCM vec)
-{
- scm_gc_free (BITVECTOR_BITS (vec),
- sizeof (scm_t_uint32) * ((BITVECTOR_LENGTH (vec)+31)/32),
- "bitvector");
- return 0;
-}
-
static int
bitvector_print (SCM vec, SCM port, scm_print_state *pstate)
{
@@ -120,8 +111,8 @@ scm_c_make_bitvector (size_t len, SCM fill)
scm_t_uint32 *bits;
SCM res;
- bits = scm_gc_malloc (sizeof (scm_t_uint32) * word_len,
- "bitvector");
+ bits = scm_gc_malloc_pointerless (sizeof (scm_t_uint32) * word_len,
+ "bitvector");
SCM_NEWSMOB2 (res, scm_tc16_bitvector, bits, len);
if (!SCM_UNBNDP (fill))
@@ -896,7 +887,6 @@ void
scm_init_bitvectors ()
{
scm_tc16_bitvector = scm_make_smob_type ("bitvector", 0);
- scm_set_smob_free (scm_tc16_bitvector, bitvector_free);
scm_set_smob_print (scm_tc16_bitvector, bitvector_print);
scm_set_smob_equalp (scm_tc16_bitvector, bitvector_equalp);