mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 01:00:20 +02:00
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.
This commit is contained in:
parent
407190060b
commit
aef1fcf94e
7 changed files with 247 additions and 30 deletions
|
@ -40,6 +40,7 @@
|
|||
#include "_scm.h"
|
||||
#include "control.h"
|
||||
#include "frames.h"
|
||||
#include "gc-inline.h"
|
||||
#include "instructions.h"
|
||||
#include "loader.h"
|
||||
#include "programs.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue