diff options
author | Ludovic Courtes <ludovic.courtes@laas.fr> | 2006-06-08 22:01:47 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2008-09-10 20:27:00 +0200 |
commit | 92d8fd328c66df2132e13ff1428bb83b2f4350c2 (patch) | |
tree | e1f169b254223ec763e7fef5d556201514015c65 /libguile/random.c | |
parent | 6cc80cb6ab28b6b1c3b016465d61c0e77c0ee290 (diff) | |
download | guile-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.c | 12 |
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; |