1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-01 18:00:23 +02:00
guile/libguile
Andy Wingo aa84489d18 Reimplement dynamic states
There are two goals: one, to use less memory per dynamic state in order
to allow millions of dynamic states to be allocated in light-weight
threading scenarios.  The second goal is to prevent dynamic states from
being actively mutated in two threads at once.  This second goal does
mean that dynamic states object that escape into scheme are now copies
that won't receive further updates; an incompatible change, but one
which we hope doesn't affect anyone.

* libguile/cache-internal.h: New file.
* libguile/fluids.c (is_dynamic_state, get_dynamic_state)
  (save_dynamic_state, restore_dynamic_state, add_entry)
  (copy_value_table): New functions.
  (scm_i_fluid_print, scm_i_dynamic_state_print): Move up.
  (new_fluid): No need for a number.
  (scm_fluid_p: scm_is_fluid): Inline IS_FLUID uses.
  (fluid_set_x, fluid_ref): Adapt to dynamic state changes.
  (scm_fluid_set_x, scm_fluid_unset_x): Call fluid_set_x.
  (scm_swap_fluid): Rewrite in terms of fluid_ref and fluid_set.
  (swap_fluid): Use internal fluid_set_x.
  (scm_i_make_initial_dynamic_state): Adapt to dynamic state
  representation change.
  (scm_dynamic_state_p, scm_is_dynamic_state): Use new accessors.
  (scm_current_dynamic_state): Use make_dynamic_state.
  (scm_dynwind_current_dynamic_state): Use new accessor.
* libguile/fluids.h: Remove internal definitions.  Add new struct
  definition.
* libguile/threads.h (scm_i_thread): Use scm_t_dynamic_state for dynamic
  state.
* libguile/threads.c (guilify_self_1, guilify_self_2):
  (scm_i_init_thread_for_guile, scm_init_guile):
  (scm_call_with_new_thread):
  (scm_init_threads, scm_init_threads_default_dynamic_state): Adapt to
  scm_i_thread change.
  (scm_i_with_guile, with_guile): Remove "and parent" suffix.
  (scm_i_reset_fluid): Remove unneeded function.
* doc/ref/api-scheduling.texi (Fluids and Dynamic States): Remove
  scm_make_dynamic_state docs.  Update current-dynamic-state docs.
* libguile/vm-engine.c (vm_engine): Update fluid-ref and fluid-set!
  inlined fast paths for dynamic state changes.
* libguile/vm.c (vm_error_unbound_fluid): Remove now-unused function.
* NEWS: Update.
* module/ice-9/deprecated.scm (make-dynamic-state): New definition.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_make_dynamic_state): Move here.
* libguile/__scm.h (scm_t_dynamic_state): New typedef.
* libguile/dynstack.h:
* libguile/dynstack.c (scm_dynstack_push_fluid):
  (scm_dynstack_unwind_fluid): Take raw dynstate in these internal
  functions.
* libguile/throw.c (catch): Adapt to dynstack changes.
2016-12-05 21:46:37 +01:00
..
.gitignore Fix the rule to check for new signals and errors 2016-05-22 19:50:07 +02:00
__scm.h Reimplement dynamic states 2016-12-05 21:46:37 +01:00
_scm.h Use atomics for async interrupts 2016-10-26 22:50:26 +02:00
alist.c Let assv/assoc shortcircuit to assq where feasible 2016-08-07 22:52:20 +02:00
alist.h
array-handle.c Do not use array handles in scm_vector 2016-11-23 11:49:35 +01:00
array-handle.h Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +01:00
array-map.c New functions (array-for-each-cell, array-for-each-cell-in-order) 2016-11-23 13:04:49 +01:00
array-map.h New functions (array-for-each-cell, array-for-each-cell-in-order) 2016-11-23 13:04:49 +01:00
arrays.c Deprecate scm_from_contiguous_array 2016-11-23 13:05:49 +01:00
arrays.h Deprecate scm_from_contiguous_array 2016-11-23 13:05:49 +01:00
async.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
async.h Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
atomic.c Add atomic boxes 2016-09-06 11:16:53 +02:00
atomic.h Add atomic boxes 2016-09-06 11:16:53 +02:00
atomics-internal.h Use atomics for async interrupts 2016-10-26 22:50:26 +02:00
backtrace.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
backtrace.h display-{application,-backtrace} delegate to Scheme 2016-04-04 16:30:56 +02:00
bdw-gc.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
bitvectors.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
bitvectors.h Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +01:00
boolean.c add `nil?' primitive 2012-02-03 18:53:38 -05:00
boolean.h Declare scm_nil_p 2013-11-27 19:30:18 +01:00
bytevectors.c Reuse SCM_BYTEVECTOR_TYPED_LENGTH in scm_array_get_handle 2016-11-23 11:49:35 +01:00
bytevectors.h Reuse SCM_BYTEVECTOR_TYPED_LENGTH in scm_array_get_handle 2016-11-23 11:49:35 +01:00
c-tokenize.lex build: Don't include <config.h> in native programs when cross-compiling. 2014-03-12 14:35:07 +01:00
cache-internal.h Reimplement dynamic states 2016-12-05 21:46:37 +01:00
ChangeLog-1996-1999
ChangeLog-2000
ChangeLog-2008
ChangeLog-scm
ChangeLog-srfi
ChangeLog-threads
chars.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
chars.h
continuations.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
continuations.h Optimize make-stack 2014-04-14 16:31:02 +02:00
control.c Rename union scm_vm_stack_element members 2015-10-21 11:49:20 +02:00
control.h VM stack grows downward 2015-10-21 11:49:20 +02:00
conv-integer.i.c Fix memory leak in scm_from_{u,}int64 on 32-bit platforms 2016-06-23 14:57:50 +02:00
conv-uinteger.i.c Fix memory leak in scm_from_{u,}int64 on 32-bit platforms 2016-06-23 14:57:50 +02:00
cpp-E.syms Add Hurd signal and error constants. 2016-05-22 19:50:20 +02:00
cpp-SIG.syms Remove SIGEV constant definitions. 2016-05-22 19:50:27 +02:00
debug-malloc.c
debug-malloc.h
debug.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
debug.h Remove unused union scm_t_debug_info 2015-01-23 16:16:01 +01:00
deprecated.c Reimplement dynamic states 2016-12-05 21:46:37 +01:00
deprecated.h Reimplement dynamic states 2016-12-05 21:46:37 +01:00
deprecation.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
deprecation.h
dynl.c Mutex in dynamic linker 2016-11-01 23:13:17 +01:00
dynl.h
dynstack.c Reimplement dynamic states 2016-12-05 21:46:37 +01:00
dynstack.h Reimplement dynamic states 2016-12-05 21:46:37 +01:00
dynwind.c remove out-of-date comment 2012-03-03 21:06:49 +01:00
dynwind.h the dynamic stack is really a stack now, instead of a list 2012-03-03 17:06:02 +01:00
elf.h add ELF loader 2012-06-22 13:40:50 +02:00
eq.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
eq.h
error.c Use atomics for async interrupts 2016-10-26 22:50:26 +02:00
error.h Out-of-memory situations raise exceptions instead of aborting 2014-03-22 15:49:31 +01:00
eval.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
eval.h deprecate lookup closures 2012-05-23 12:00:23 +02:00
evalext.c Keywords have a tc7 2015-01-22 13:03:11 +01:00
evalext.h remove all deprecated code 2011-05-12 14:01:26 +02:00
expand.c Remove unused static definitions 2016-06-11 18:29:35 +02:00
expand.h Assignment conversion in the interpreter 2014-12-05 11:45:36 +01:00
extensions.c fix --disable-modules build 2011-06-30 12:26:31 +02:00
extensions.h
fdes-finalizers.c Add file descriptor finalizers 2016-08-30 23:35:10 +02:00
fdes-finalizers.h Add file descriptor finalizers 2016-08-30 23:35:10 +02:00
feature.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
feature.h Arrange to convert command-line arguments from the right encoding. 2011-12-15 01:31:23 +01:00
filesys.c Add file descriptor finalizers 2016-08-30 23:35:10 +02:00
filesys.h Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
finalizers.c Use atomics for async interrupts 2016-10-26 22:50:26 +02:00
finalizers.h Add interface to disable automatic finalization 2014-04-26 14:46:45 +02:00
fluids.c Reimplement dynamic states 2016-12-05 21:46:37 +01:00
fluids.h Reimplement dynamic states 2016-12-05 21:46:37 +01:00
foreign-object.c Add more foreign object interfaces 2014-04-28 13:03:58 +02:00
foreign-object.h Add more foreign object interfaces 2014-04-28 13:03:58 +02:00
foreign.c Explicit interrupt handling in VM 2016-11-17 22:13:53 +01:00
foreign.h Parse bytecode to determine minimum arity 2016-06-24 14:15:38 +02:00
fports.c Use atomics for async interrupts 2016-10-26 22:50:26 +02:00
fports.h Allow mkstemp! to have optional "mode" argument 2016-07-25 11:46:18 +02:00
frames.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
frames.h Remove frame-local-ref, frame-local-set! 2016-01-31 10:45:02 +01:00
gc-inline.h Add thread-local lock-free, TLS-free freelists. 2014-02-02 16:17:54 +01:00
gc-malloc.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
gc.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
gc.h Remove SCM_DEBUG_CELL_ACCESSES==1 2016-11-18 21:18:23 +01:00
gen-scmconfig.c build: Add SCM_T_OFF_MAX and SCM_T_OFF_MIN to scmconfig.h. 2016-05-22 19:50:57 +02:00
gen-scmconfig.h.in check for iconveh values at configure-time 2011-04-28 22:39:20 +02:00
generalized-arrays.c Avoid unneeded internal use of array handles 2016-11-23 11:49:35 +01:00
generalized-arrays.h Avoid unneeded internal use of array handles 2016-11-23 11:49:35 +01:00
generalized-vectors.c Do not use array handles in scm_vector 2016-11-23 11:49:35 +01:00
generalized-vectors.h Remove deprecated array functions 2016-11-23 11:49:35 +01:00
gettext.c
gettext.h
goops.c Mutex instead of critical section in GOOPS 2016-11-01 22:52:12 +01:00
goops.h Use heap-allocated port types instead of ptobnums 2016-05-13 18:31:29 +02:00
gsubr.c Explicit interrupt handling in VM 2016-11-17 22:13:53 +01:00
gsubr.h Parse bytecode to determine minimum arity 2016-06-24 14:15:38 +02:00
guardians.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
guardians.h
guile-func-name-check
guile-snarf-docs.in
guile-snarf.awk.in
guile-snarf.in Make snarfing tools more robust to varied C preprocessor behavior. 2014-03-06 17:25:55 -05:00
guile.c Remove nonfunctional gdb interface 2013-11-27 22:31:00 +01:00
hash.c Merge commit '01a301d1b6' 2015-01-22 14:49:36 +01:00
hash.h Merge commit '894d0b894d' 2015-01-22 14:48:40 +01:00
hashtab.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
hashtab.h Merge remote-tracking branch 'origin/stable-2.0' 2013-02-18 17:59:38 +01:00
hooks.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
hooks.h
i18n.c Check for strtod_l before using it. 2016-06-24 17:52:30 +02:00
i18n.h
init.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
init.h threading / with_guile refactor to use more GC_stack_base 2011-03-25 13:01:51 +01:00
inline.c Merge remote-tracking branch 'origin/stable-2.0' 2013-02-18 17:59:38 +01:00
inline.h Rename 'scm_i_get_byte_or_eof' et al; mark them as SCM_API. 2013-04-02 19:35:43 -04:00
instructions.c Untag values and indexes for all bytevector instructions 2015-12-01 15:42:24 +01:00
instructions.h Move RTL unpack macros to vm-engine.c 2013-11-19 21:12:21 +01:00
ioext.c Add file descriptor finalizers 2016-08-30 23:35:10 +02:00
ioext.h
iselect.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
keywords.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
keywords.h Keywords have a tc7 2015-01-22 13:03:11 +01:00
libgettext.h
libguile-2.2-gdb.scm Adapt GDB integration to newest patches 2015-03-09 13:48:38 +01:00
libguile.map
list.c Remove SCM_DEBUG_CELL_ACCESSES==1 2016-11-18 21:18:23 +01:00
list.h
load.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
load.h Fix problems with Windows file names that use backslashes. 2014-07-03 20:58:19 +03:00
loader.c VM support for raw slots 2015-10-28 16:40:53 +00:00
loader.h VM support for raw slots 2015-10-28 16:40:53 +00:00
locale-categories.h i18n: Ignore LC_MESSAGES on MinGW. 2014-06-11 14:54:21 +02:00
macros.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
macros.h
Makefile.am Reimplement dynamic states 2016-12-05 21:46:37 +01:00
mallocs.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
mallocs.h
memmove.c
memoize.c Remove unused "nargs" field of memoized call expressions 2015-03-12 08:37:04 +01:00
memoize.h Simplify variable resolution in the evaluator 2014-12-07 15:52:34 +01:00
modules.c Merge remote-tracking branch 'origin/stable-2.0' 2012-05-23 12:38:56 +02:00
modules.h finish deprecating eval closures 2012-05-23 12:29:15 +02:00
net_db.c Fix unused static variables in net_db.c 2016-07-25 11:44:29 +02:00
net_db.h
null-threads.c
null-threads.h Reimplement null-threads as inline functions 2016-07-25 11:50:17 +02:00
numbers.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
numbers.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
objprop.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
objprop.h
options.c remove object protection from options.c 2011-11-24 11:47:35 +01:00
options.h
pairs.c Merge branch 'stable-2.0' 2013-12-12 23:44:46 -05:00
pairs.h inline scm_cons, scm_car, scm_cdr 2012-05-17 11:25:58 +02:00
poll.c Remove scm_t_port_internal 2016-05-13 11:34:52 +02:00
poll.h
ports-internal.h Only ptob->close() after read/write finish 2016-08-31 19:10:35 +02:00
ports.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
ports.h GC of non-blocking port does not block 2016-08-31 19:31:12 +02:00
posix-w32.c Untabify posix-w32.c 2016-07-25 11:49:32 +02:00
posix-w32.h Add POSIX shims for MinGW 2016-07-25 11:42:09 +02:00
posix.c Fix compile warning in posix.c 2016-09-14 11:50:35 +02:00
posix.h Move system* to posix.c, impl on open-process 2016-08-31 10:42:21 +02:00
print.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
print.h Simplify string, symbol, char display/write impls 2016-05-30 18:49:25 +02:00
private-options.h print: Support R7RS |...| symbol notation. 2014-01-14 20:30:24 -05:00
procprop.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
procprop.h procedure-documentation works on RTL procedures 2013-06-09 23:59:01 +02:00
procs.c Generics with setters have <applicable-struct-with-setter> layout 2015-01-23 16:16:00 +01:00
procs.h procedure-documentation works on RTL procedures 2013-06-09 23:59:01 +02:00
programs.c Parse bytecode to determine minimum arity 2016-06-24 14:15:38 +02:00
programs.h Remove primitive?, add primitive-code? 2015-12-01 11:30:54 +01:00
promises.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
promises.h
pthread-threads.h Revert "add pthread_atfork helpers to our threading shims" 2012-02-23 14:18:57 +01:00
quicksort.i.c Support typed arrays in some sort functions 2016-11-23 11:49:35 +01:00
r6rs-ports.c Set rw_random correctly for all custom binary port types 2016-08-31 15:42:51 +02:00
r6rs-ports.h Implement R6RS custom binary input/output ports 2016-08-04 22:29:51 +02:00
random.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
random.h Add random-state-from-platform' and scm_i_random_bytes_from_platform' 2012-01-21 03:22:57 -05:00
rdelim.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
rdelim.h
read.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
read.h Remove prototype for scm_read_token, which does not exist. 2012-10-17 04:48:43 -04:00
regex-posix.c regexec comment fix 2016-11-01 21:55:16 +01:00
regex-posix.h
remaining-docs-needed
run-test
rw.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
rw.h
scmconfig.h.top
scmsigs.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
scmsigs.h
script.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
script.h Arrange to convert command-line arguments from the right encoding. 2011-12-15 01:31:23 +01:00
simpos.c Move system* to posix.c, impl on open-process 2016-08-31 10:42:21 +02:00
simpos.h Move system* to posix.c, impl on open-process 2016-08-31 10:42:21 +02:00
smob.c Fix race between SMOB marking and finalization 2016-06-23 12:13:02 +02:00
smob.h Add `scm_smob_type_class()'. 2015-02-10 14:35:35 +01:00
snarf.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
socket.c Support `connect' on nonblocking sockets 2016-06-09 10:59:08 +02:00
socket.h Deprecate htons, htonl, ntohs, ntohl 2014-02-08 14:28:07 +01:00
sort.c Support typed arrays in some sort functions 2016-11-23 11:49:35 +01:00
sort.h
srcprop.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
srcprop.h Add 'supports-source-properties?' predicate 2012-02-15 11:23:27 -05:00
srfi-1.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
srfi-1.h fix take-right and drop-right for improper lists 2011-08-12 23:26:15 +02:00
srfi-4.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
srfi-4.h Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +01:00
srfi-13.c Fix 'string-copy!' to work properly with overlapping src/dest. 2014-01-08 21:42:24 -05:00
srfi-13.h In string-split, add support for character sets and predicates. 2012-10-12 08:15:08 -04:00
srfi-14.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
srfi-14.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
srfi-14.i.c Regenerate SRFI-14 character set data. 2016-05-22 19:51:56 +02:00
srfi-60.c SRFI-60: Reimplement 'rotate-bit-field' on inums to be more portable. 2014-03-11 21:39:26 -04:00
srfi-60.h move srfi-1 and srfi-60 C impl to libguile, without public C api 2010-09-12 23:29:11 +02:00
stackchk.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
stackchk.h Unwind-only stack overflow exceptions 2014-02-20 09:45:01 +01:00
stacks.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
stacks.h
stime.c Mutexes instead of critical sections in stime.c 2016-11-01 22:33:30 +01:00
stime.h scm_c_get_internal_run_time is more precise 2011-05-04 20:19:11 +02:00
strerror.c
strings.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
strings.h Implement 'string-utf8-length' and 'scm_c_string_utf8_length'. 2016-05-22 19:03:37 +02:00
strorder.c
strorder.h
strports.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
strports.h Use heap-allocated port types instead of ptobnums 2016-05-13 18:31:29 +02:00
struct.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
struct.h Move <class> initialization to Scheme 2015-01-23 16:16:01 +01:00
symbols.c Allow decoding of UTF-8 containing U+FFFD, the replacement character. 2015-08-13 01:31:36 -04:00
symbols.h symbols.h reindent 2011-10-26 00:07:29 +02:00
tags.h Add atomic boxes 2016-09-06 11:16:53 +02:00
texi-fragments-to-docstrings Build guile-procedures.txt' using (texinfo) instead of makeinfo'. 2013-03-21 23:24:47 +01:00
threads.c Reimplement dynamic states 2016-12-05 21:46:37 +01:00
threads.h Reimplement dynamic states 2016-12-05 21:46:37 +01:00
throw.c Reimplement dynamic states 2016-12-05 21:46:37 +01:00
throw.h scm_spawn_thread uses call-with-new-thread 2016-11-14 21:25:53 +01:00
trees.c Change uses of scm_is_simple_vector to scm_is_vector 2014-02-08 18:26:49 +01:00
trees.h
unicode.c Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
unicode.h Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
unidata_to_charset.pl
uniform.c Merge commit 'fb7dd00169' 2014-02-08 15:31:37 +01:00
uniform.h Merge commit 'fb7dd00169' 2014-02-08 15:31:37 +01:00
validate.h Add atomic boxes 2016-09-06 11:16:53 +02:00
values.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
values.h add scm_c_nvalues with docs; also, docs for scm_c_values 2012-07-04 17:49:37 +02:00
variable.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
variable.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
vectors.c Do not use array handles in scm_vector 2016-11-23 11:49:35 +01:00
vectors.h SCM_I_IS_VECTOR only true for tc7_vector, not weak vectors 2014-02-08 17:19:52 +01:00
version.c
version.h.in [build] Create libguile/version.h using the configure script. 2010-08-18 19:48:12 +02:00
vm-builtins.h Small comment fix. 2013-11-19 20:02:49 +01:00
vm-engine.c Reimplement dynamic states 2016-12-05 21:46:37 +01:00
vm-expand.h
vm.c Reimplement dynamic states 2016-12-05 21:46:37 +01:00
vm.h Identify boot continuations by code, not closure 2015-12-01 10:57:20 +01:00
vports.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
vports.h
weak-set.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
weak-set.h Revert "with a threaded guile, lock weak sets and tables during a fork" 2012-02-23 14:18:56 +01:00
weak-table.c Add weak-table fast path for update 2016-11-26 16:30:57 +01:00
weak-table.h hash-set! on weak tables returns the value 2012-03-02 18:26:56 +01:00
weak-vector.c Merge commit '495cea0c93' 2014-02-08 14:48:48 +01:00
weak-vector.h Add weak-vector-length, weak-vector-ref, weak-vector-set! 2014-02-07 13:00:41 +01:00