summaryrefslogtreecommitdiff
path: root/libguile/inline.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/inline.h')
-rw-r--r--libguile/inline.h9
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)