diff options
Diffstat (limited to 'libguile/inline.h')
-rw-r--r-- | libguile/inline.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libguile/inline.h b/libguile/inline.h index 49f99a1da..823ddc4fb 100644 --- a/libguile/inline.h +++ b/libguile/inline.h @@ -67,6 +67,15 @@ SCM scm_cell (scm_t_bits car, scm_t_bits cdr) { SCM z; + /* We retrieve the SCM pointer only once since the call to + SCM_FREELIST_LOC will be slightly expensive when we support + preemptive multithreading. SCM_FREELIST_LOC will then retrieve + the thread specific freelist. + + Until then, SCM_FREELIST_DOC expands to (&scm_i_freelist) and the + following code will compile to the same as if we had worked + directly on the scm_i_freelist variable. + */ SCM *freelist = SCM_FREELIST_LOC (scm_i_freelist); if (scm_gc_running_p) |