summaryrefslogtreecommitdiff
path: root/libguile/bdw-gc.h
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'stable-2.0'...Conflicts: GUILE-VERSION NEWS guile-readline/ice-9/readline.scm libguile/async.c libguile/backtrace.c libguile/deprecated.h libguile/gc-malloc.c libguile/gdbint.c libguile/init.c libguile/ioext.c libguile/mallocs.c libguile/print.c libguile/rw.c libguile/scmsigs.c libguile/script.c libguile/simpos.c libguile/snarf.h libguile/strports.c libguile/threads.c libguile/vm-i-scheme.c libguile/vm-i-system.c module/srfi/srfi-18.scm test-suite/Makefile.am test-suite/standalone/test-num2integral.c Mark H Weaver2014-04-251-1/+1
|\
| * Check SCM_USE_PTHREAD_THREADS using #if not #ifdef....* libguile/bdw-gc.h: Check SCM_USE_PTHREAD_THREADS using #if not #ifdef. Mark H Weaver2014-03-131-1/+1
* | 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. Andy Wingo2014-02-021-6/+1
|/
* if we have threads on windows, we have pthreads; inform bdw-gc of that...* libguile/bdw-gc.h: If we have threads enabled on mingw32, explicitly mark GC_WIN32_PTHREADS. See http://thread.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/5564 for more info. Andy Wingo2013-03-091-1/+6
* Remove backward-compatible `GC_PTR' definition....Fixes <http://bugs.gnu.org/11500>. Reported by Kevin J. Fletcher <dev@kjfletch.co.uk>. * libguile/bdw-gc.h (GC_PTR)[(defined GC_VERSION_MAJOR) && (GC_VERSION_MAJOR >= 7)]: Remove. Ludovic Courtès2012-07-021-7/+1
* threading / with_guile refactor to use more GC_stack_base...* libguile/init.h: * libguile/init.c (scm_i_init_guile): Change arg to this internal function from SCM_STACKITEM* to void*. Actually it's a struct GC_stack_base*. * libguile/bdw-gc.h: Don't do pthread redirects, because we don't want to affect applications' pthread_* bindings. * libguile/pthread-threads.h (scm_i_pthread_create) (scm_i_pthread_detach, scm_i_pthread_exit, scm_i_pthread_cancel) (scm_i_pthread_sigmask): Do pthread redirects here, in this internal header. * libguile/threads.h: Remove declaration of internal scm_i_with_guile_and_parent. Remove declaration of undefined scm_threads_init_first_thread. Make declaration of internal scm_threads_prehistory actually internal, and take a void* (actually a struct GC_stack_base*). * libguile/threads.c (GC_get_stack_base): Implement a shim if this function is unavailable, and fold in the implementations of get_thread_stack_base. (GC_call_with_stack_base): Actually implement. (guilify_self_1): Take a GC_stack_base* as an arg. (scm_i_init_thread_for_guile): Likewise, and set up libgc for registration of other threads. (scm_init_guile): Use GC_get_stack_base instead of our own guesswork. (with_guile_and_parent, scm_i_with_guile_and_parent): Rework to trampoline through a GC_call_with_stack_base. (scm_threads_prehistory): Pass the "base" arg on to guilify_self_1. Andy Wingo2011-03-251-1/+6
* Merge branch 'bdw-gc-static-alloc'...Conflicts: acinclude.m4 libguile/__scm.h libguile/bdw-gc.h libguile/eval.c Ludovic Courtès2009-11-011-0/+16
* Rename "boehm-gc.h" to "bdw-gc.h"; add to the distribution....* libguile/Makefile.am (modinclude_HEADERS): Add `bdw-gc.h'. * libguile/bdw-gc.h: Rename from "boehm-gc.h"; users updated. Update to LGPLv3+. Ludovic Courtès2009-09-141-0/+49