1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-28 16:00:22 +02:00
guile/libguile
Andy Wingo a053c0510c Weak tables are now bucket-and-chain tables
This change should make weak tables work better with libgc, as the weak
components that need mark functions are smaller, so they don't overflow
the mark queue.  Also this prevents the need to move disappearing
links.

* libguile/weak-table.c (scm_t_weak_entry): Change to be a hash table
  chain entry.
  (struct weak_entry_data, do_read_weak_entry, read_weak_entry): Read
  out the key and value directly.
  (GC_move_disappearing_link, move_disappearing_links, move_weak_entry):
  Remove.
  (scm_t_weak_table): Rename "entries" member to "buckets", and "size" to
  "n_buckets".
  (hash_to_index, entry_distance, rob_from_rich, give_to_poor): Remove.
  (mark_weak_key_entry, mark_weak_value_entry): Mark a single link, and
  the next link.
  (mark_doubly_weak_entry): New kind.
  (allocate_entry): Allocate a single entry.
  (add_entry): New helper.
  (resize_table): Reimplement more like normal hash tables.
  (vacuum_weak_table): Adapt to new implementation.
  (weak_table_ref, weak_table_put_x, weak_table_remove_x): Adapt.
  (make_weak_table): Adapt.
  (scm_weak_table_clear_x): Actually unregister the links to prevent a
  memory leak.
  (scm_c_weak_table_fold): Collect items in an alist, then fold outside
  the lock.
  (scm_weak_table_prehistory): Initialize doubly_weak_gc_kind.
2017-11-01 09:46:03 +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 Bump objcode version in a compatible way 2017-04-18 21:37:36 +02:00
alist.c Attempt to mutate residualized literal pair throws exception 2017-04-18 21:27:45 +02:00
alist.h
array-handle.c Allow scm_XXX_writable_elements on empty vectors, even if immutable 2017-10-31 13:23:17 +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 Support non-zero lower bounds in array-slice-for-each 2017-10-31 13:23:17 +01:00
array-map.h Final names for new array functions 2017-01-09 09:02:04 +01:00
arrays.c Fix bitvectors and non-zero lower bound arrays in truncated-print 2017-10-31 13:23:44 +01:00
arrays.h Final names for new array functions 2017-01-09 09:02:04 +01:00
async.c Thread prepare-to-wait respects block_asyncs 2017-01-08 12:24:44 +01:00
async.h New interfaces to help wait on fd/cond 2016-12-29 18:46:16 +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 Fix atomics compilation on clang 2017-03-10 09:10:50 +01: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 All literal constants are read-only 2017-04-18 21:27:45 +02:00
bitvectors.h All literal constants are read-only 2017-04-18 21:27:45 +02: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 All literal constants are read-only 2017-04-18 21:27:45 +02:00
bytevectors.h All literal constants are read-only 2017-04-18 21:27:45 +02: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 Bump fluid cache size to 16 entries 2017-02-17 11:04:16 +01:00
ChangeLog-1996-1999
ChangeLog-2000
ChangeLog-2008
ChangeLog-scm
ChangeLog-srfi move srfi-1 and srfi-60 C impl to libguile, without public C api 2010-09-12 23:29:11 +02:00
ChangeLog-threads
chars.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
chars.h
continuations.c Fix compilation of continuations.c 2017-02-13 10:13:27 +01:00
continuations.h Optimize make-stack 2014-04-14 16:31:02 +02:00
control.c VM continuations store FP/SP by offset 2017-02-12 20:31:14 +01:00
control.h VM stack grows downward 2015-10-21 11:49:20 +02:00
conv-integer.i.c Avoid signed integer overflows in numeric conversions. 2017-03-01 19:05:30 +01: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 Deprecate make-struct 2017-09-22 10:32:33 +02:00
deprecated.h Deprecate make-struct 2017-09-22 10:32:33 +02:00
deprecation.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
deprecation.h
dynl.c Fix --without-threads 2016-12-07 20:02:14 +01:00
dynl.h Simplify the (system foreign) API. 2010-07-26 19:38:52 +02:00
dynstack.c VM continuations store FP/SP by offset 2017-02-12 20:31:14 +01:00
dynstack.h VM continuations store FP/SP by offset 2017-02-12 20:31:14 +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 Syntax objects are comparable with equal? 2017-04-21 11:56:51 +02:00
eq.h remove "discouraged" infrastructure 2010-08-08 14:15:47 +02:00
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 Better errors for odd-length keyword args 2017-02-28 22:01:20 +01:00
eval.h deprecate lookup closures 2012-05-23 12:00:23 +02:00
evalext.c Add disjoint syntax object type 2017-03-28 19:23:13 +02: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 Correctly relativize file names in the presence of common prefixes. 2017-06-15 17:48:12 +02:00
filesys.h Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
finalizers.c Fix finalizer resuscitation causing excessive GC 2017-03-13 15:47:51 +01:00
finalizers.h Fix finalizer resuscitation causing excessive GC 2017-03-13 15:47:51 +01:00
fluids.c Avoid causing GC when lookup up exception handler 2017-04-19 14:48:44 +02:00
fluids.h Add thread local fluids 2017-03-07 21:15:39 +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 FFI: Add support for functions that set 'errno'. 2016-12-18 23:05:15 +01:00
foreign.h FFI: Add support for functions that set 'errno'. 2016-12-18 23:05:15 +01:00
fports.c Allow garbage collection of revealed file ports. 2017-10-25 11:39:38 -07:00
fports.h Allow garbage collection of revealed file ports. 2017-10-25 11:39:38 -07:00
frames.c VM continuations store FP/SP by offset 2017-02-12 20:31:14 +01:00
frames.h VM continuations store FP/SP by offset 2017-02-12 20:31:14 +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 Make scm_gc_warn_proc() write directly to stderr 2016-12-14 09:49:52 +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 Remove needless static variables from goops.c 2017-09-22 16:12:07 +02: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 Fix spurious warnings in net_db.c 2017-04-19 16:48:56 +02:00
guile-snarf-docs.in Revert "[build] Rewrite guile-func-name-check in Scheme, adding features." 2010-08-27 13:05:23 -07:00
guile-snarf.awk.in
guile-snarf.in guile-snarf: skip -g* arguments to avoid build failure 2017-04-19 17:19:40 +02:00
guile.c Remove nonfunctional gdb interface 2013-11-27 22:31:00 +01:00
hash.c Syntax objects are comparable with equal? 2017-04-21 11:56:51 +02: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 i18n: locale-positive-separated-by-space? should return bool, not string 2017-03-20 20:29:21 -07:00
i18n.h
init.c Add disjoint syntax object type 2017-03-28 19:23:13 +02: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 Elide syscalls in fdes->port 2017-02-14 22:03:21 +01:00
ioext.h
iselect.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
keywords.c Better errors for odd-length keyword args 2017-02-28 22:01:20 +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 Attempt to mutate residualized literal pair throws exception 2017-04-18 21:27:45 +02: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 Bump objcode version in a compatible way 2017-04-18 21:37:36 +02: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 Add disjoint syntax object type 2017-03-28 19:23:13 +02:00
mallocs.c Remove scm_puts_unlocked. 2016-04-26 23:07:28 +02:00
mallocs.h
memmove.c
memoize.c with-dynamic-state compiler and VM support 2016-12-05 22:57:29 +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 Do not assume that sizeof (long) == sizeof (void *) == sizeof (SCM). 2017-03-01 19:08:42 +01:00
numbers.h Do not assume that sizeof (long) == sizeof (void *) == sizeof (SCM). 2017-03-01 19:08:42 +01: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 Attempt to mutate residualized literal pair throws exception 2017-04-18 21:27:45 +02:00
pairs.h Restore libgc 7.2 compatibility 2017-04-20 10:40:07 +02:00
poll.c Prevent TOCTTOU bugs in C ports 2017-02-08 15:09:14 +01:00
poll.h add (ice-9 poll), a poll wrapper 2010-12-03 15:16:37 +01:00
ports-internal.h Prevent TOCTTOU bugs in C ports 2017-02-08 15:09:14 +01:00
ports.c Allow garbage collection of revealed file ports. 2017-10-25 11:39:38 -07:00
ports.h Prevent TOCTTOU bugs in C ports 2017-02-08 15:09:14 +01: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 Treat 'SIG_IGN' as a pointer. 2017-03-01 19:58:31 +01:00
posix.h Move system* to posix.c, impl on open-process 2016-08-31 10:42:21 +02:00
print.c Deprecate struct "self" slots 2017-09-22 11:35:36 +02:00
print.h Deprecate struct "self" slots 2017-09-22 11:35:36 +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 Deprecate make-struct 2017-09-22 10:32:33 +02:00
procs.h procedure-documentation works on RTL procedures 2013-06-09 23:59:01 +02:00
programs.c Speed up procedure-minimum-arity for fixed arity 2017-04-03 17:47:49 +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 Fix sort, sort! for arrays with nonzero lower bound 2017-10-31 13:23:17 +01:00
r6rs-ports.c put-bytevector, unget-bytevector: Allow start == bytevector length. 2017-07-31 11:37:58 -04:00
r6rs-ports.h Implement R6RS custom binary input/output ports 2016-08-04 22:29:51 +02:00
random.c Support general arrays in random:hollow-sphere! 2017-10-31 13:30:01 +01: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 Remove unnecessary scm_i_string_start_writing calls 2017-02-16 10:43:23 +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 Prevent TOCTTOU bugs in C ports 2017-02-08 15:09:14 +01:00
rw.h
scmconfig.h.top
scmsigs.c Check for working profiling and virtual itimers 2017-03-06 23:06:12 -08: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 Stringbufs immutable by default 2017-02-16 13:11:29 +01:00
socket.c Conditionally define SOCK_CLOEXEC, SOCK_NONBLOCK 2017-02-21 22:01:45 +01:00
socket.h Add accept4 support 2017-02-15 22:10:25 +01:00
sort.c Fix sort, sort! for arrays with nonzero lower bound 2017-10-31 13:23:17 +01:00
sort.h
srcprop.c Attempt to mutate residualized literal pair throws exception 2017-04-18 21:27:45 +02:00
srcprop.h Add 'supports-source-properties?' predicate 2012-02-15 11:23:27 -05:00
srfi-1.c Attempt to mutate residualized literal pair throws exception 2017-04-18 21:27:45 +02:00
srfi-1.h fix take-right and drop-right for improper lists 2011-08-12 23:26:15 +02:00
srfi-4.c All literal constants are read-only 2017-04-18 21:27:45 +02: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 Remove unnecessary scm_i_string_start_writing calls 2017-02-16 10:43:23 +01: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 make-struct 2017-09-22 10:32:33 +02:00
stacks.h
stime.c Fix build warning 2017-01-19 01:43:51 +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 All literal constants are read-only 2017-04-18 21:27:45 +02:00
strings.h All literal constants are read-only 2017-04-18 21:27:45 +02:00
strorder.c
strorder.h
strports.c String ports can be truncated 2017-03-01 14:24:36 +01:00
strports.h Use heap-allocated port types instead of ptobnums 2016-05-13 18:31:29 +02:00
struct.c Add struct-ref/unboxed, struct-set!/unboxed 2017-09-25 21:54:36 +02:00
struct.h Add struct-ref/unboxed, struct-set!/unboxed 2017-09-25 21:54:36 +02:00
symbols.c Attempt to mutate residualized literal pair throws exception 2017-04-18 21:27:45 +02:00
symbols.h symbols.h reindent 2011-10-26 00:07:29 +02:00
syntax.c Add disjoint syntax object type 2017-03-28 19:23:13 +02:00
syntax.h Add disjoint syntax object type 2017-03-28 19:23:13 +02:00
tags.h Add disjoint syntax object type 2017-03-28 19:23:13 +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 Add thread local fluids 2017-03-07 21:15:39 +01:00
threads.h Fix support for threads already known to GC 2017-02-28 13:14:02 +01:00
throw.c Add thread local fluids 2017-03-07 21:15:39 +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 All literal constants are read-only 2017-04-18 21:27:45 +02:00
uniform.h Merge commit 'fb7dd00169' 2014-02-08 15:31:37 +01:00
validate.h Attempt to mutate residualized literal pair throws exception 2017-04-18 21:27:45 +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 All literal constants are read-only 2017-04-18 21:27:45 +02:00
vectors.h All literal constants are read-only 2017-04-18 21:27:45 +02: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 All literal constants are read-only 2017-04-18 21:27:45 +02:00
vm-expand.h
vm.c All literal constants are read-only 2017-04-18 21:27:45 +02:00
vm.h VM continuations store FP/SP by offset 2017-02-12 20:31:14 +01:00
vports.c Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
vports.h
weak-list.h Fix finalizer resuscitation causing excessive GC 2017-03-13 15:47:51 +01:00
weak-set.c Fix finalizer resuscitation causing excessive GC 2017-03-13 15:47:51 +01: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 Weak tables are now bucket-and-chain tables 2017-11-01 09:46:03 +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