summaryrefslogtreecommitdiff
path: root/libguile/bdw-gc.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-02-02 16:04:58 +0100
committerAndy Wingo <wingo@pobox.com>2014-02-02 16:17:54 +0100
commitaef1fcf94e635c51bc1d0849ad1f60a1d1274276 (patch)
treeed3cba5817f71e87a8576c8e89d7488ccbd7476e /libguile/bdw-gc.h
parent407190060bfc9a7625d5c415463fa9bbc70859fd (diff)
downloadguile-aef1fcf94e635c51bc1d0849ad1f60a1d1274276.tar.gz
Add thread-local lock-free, TLS-free freelists.
* libguile/bdw-gc.h: Remove a needless compatibility hack. * libguile/gc-inline.h: New file, implementing thread-local freelists providing faster allocation if we already have a scm_i_thread* pointer. Based on gc_inline.h from libgc. * libguile/threads.h (scm_i_thread): Add freelists here. * libguile/threads.c (guilify_self_1, guilify_self_2): Initialize freelists. * libguile/vm.c: Include gc-inline.h. * libguile/vm-engine.c: Rename current_thread to thread. Use scm_inline_cons instead of scm_cons, scm_inline_cell instead of scm_cell, and scm_inline_words instead of words.
Diffstat (limited to 'libguile/bdw-gc.h')
-rw-r--r--libguile/bdw-gc.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/libguile/bdw-gc.h b/libguile/bdw-gc.h
index 7aa757fed..2deb97e94 100644
--- a/libguile/bdw-gc.h
+++ b/libguile/bdw-gc.h
@@ -1,7 +1,7 @@
#ifndef SCM_BDW_GC_H
#define SCM_BDW_GC_H
-/* Copyright (C) 2006, 2008, 2009, 2011, 2012, 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2008, 2009, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -46,11 +46,6 @@
#include <gc/gc.h>
-#if (! ((defined GC_VERSION_MAJOR) && (GC_VERSION_MAJOR >= 7)))
-/* This was needed with `libgc' 6.x. */
-# include <gc/gc_local_alloc.h>
-#endif
-
/* Return true if PTR points to the heap. */
#define SCM_I_IS_POINTER_TO_THE_HEAP(ptr) \
(GC_base (ptr) != NULL)