summaryrefslogtreecommitdiff
path: root/libguile/random.c
diff options
context:
space:
mode:
authorLudovic Courtes <ludovic.courtes@laas.fr>2006-06-08 22:01:47 +0000
committerLudovic Courtès <ludo@gnu.org>2008-09-10 20:27:00 +0200
commit92d8fd328c66df2132e13ff1428bb83b2f4350c2 (patch)
treee1f169b254223ec763e7fef5d556201514015c65 /libguile/random.c
parent6cc80cb6ab28b6b1c3b016465d61c0e77c0ee290 (diff)
downloadguile-92d8fd328c66df2132e13ff1428bb83b2f4350c2.tar.gz
Use `scm_gc_malloc_pointerless' in various places (improves performance).
* libguile/fports.c (scm_fport_buffer_add): Use `scm_gc_malloc_pointerless ()' instead of `scm_gc_malloc ()' when allocating room for the read/write buffers. * libguile/numbers.c (scm_c_make_rectangular): Likewise. * libguile/ports.c (scm_ungetc): Likewise. * libguile/random.c (scm_i_copy_rstate): Likewise. (scm_c_make_rstate): Likewise. * libguile/regex-posix.c (scm_make_regexp): Likewise. git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-36
Diffstat (limited to 'libguile/random.c')
-rw-r--r--libguile/random.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libguile/random.c b/libguile/random.c
index 9cd8e53a4..e4daead8f 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -142,8 +142,10 @@ scm_i_init_rstate (scm_t_i_rstate *state, const char *seed, int n)
scm_t_i_rstate *
scm_i_copy_rstate (scm_t_i_rstate *state)
{
- scm_t_rstate *new_state = scm_gc_malloc (scm_the_rng.rstate_size,
- "random-state");
+ scm_t_rstate *new_state;
+
+ new_state = scm_gc_malloc_pointerless (scm_the_rng.rstate_size,
+ "random-state");
return memcpy (new_state, state, scm_the_rng.rstate_size);
}
@@ -155,8 +157,10 @@ scm_i_copy_rstate (scm_t_i_rstate *state)
scm_t_rstate *
scm_c_make_rstate (const char *seed, int n)
{
- scm_t_rstate *state = scm_gc_malloc (scm_the_rng.rstate_size,
- "random-state");
+ scm_t_rstate *state;
+
+ state = scm_gc_malloc_pointerless (scm_the_rng.rstate_size,
+ "random-state");
state->reserved0 = 0;
scm_the_rng.init_rstate (state, seed, n);
return state;