diff options
author | Andy Wingo <wingo@pobox.com> | 2014-02-02 16:04:58 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2014-02-02 16:17:54 +0100 |
commit | aef1fcf94e635c51bc1d0849ad1f60a1d1274276 (patch) | |
tree | ed3cba5817f71e87a8576c8e89d7488ccbd7476e /libguile/bdw-gc.h | |
parent | 407190060bfc9a7625d5c415463fa9bbc70859fd (diff) | |
download | guile-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.h | 7 |
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) |