1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 14:00:21 +02:00
guile/libguile
Andy Wingo 0007507340 VM stack grows downward
Adapt VM stack to grow downward.  This will make native compilation look
more like the VM code, as we will be able to use native CALL
instructions, taking proper advantage of the return address buffer.

* libguile/continuations.c (scm_i_continuation_to_frame): Record offsets
  from stack top.

* libguile/control.c (scm_i_prompt_pop_abort_args_x): Adapt for reversed
  order of arguments, and instead of relying on the abort to push on the
  number of arguments, make the caller save the stack depth, which
  allows us to compute the number of arguments ourselves.
  (reify_partial_continuation, scm_c_abort): Adapt to reversed stack
  order.

* libguile/dynstack.c (scm_dynstack_wind_prompt): Since we wind the
  stack in a downward direction, subtract the reloc instead of adding
  it.

* libguile/dynstack.h (SCM_F_DYNSTACK_PROMPT_ESCAPE_ONLY): Remove flag;
  instead rely on prompt-establishing code to save the stack depth.

* libguile/eval.c (eval): Remove extraneous "volatile" declarations for
  variables that are not re-set between the setjmp and any longjmp.
  Adapt to save stack depth before instating the prompt.

* libguile/foreign.c (scm_i_foreign_call): Adapt to receive arguments in
  reverse order.

* libguile/frames.c (frame_stack_top, scm_i_frame_stack_top): Adapt to
  compute stack top instead of stack bottom.
  (scm_c_frame_closure): Adapt to stack growth change.
  (scm_frame_num_locals, scm_frame_local_ref, scm_frame_set_x): Use
  union data type to access stack.
  (RELOC): Reformat.
  (scm_c_frame_previous): Adapt to stack growth change.

* libguile/frames.h: Adapt stack diagram to indicate that the stack
  grows up.
  (union scm_vm_stack_element): New data type used to access items on
  the stack.
  (SCM_FRAME_PREVIOUS_SP)
  (SCM_FRAME_RETURN_ADDRESS, SCM_FRAME_SET_RETURN_ADDRESS)
  (SCM_FRAME_DYNAMIC_LINK, SCM_FRAME_SET_DYNAMIC_LINK)
  (SCM_FRAME_LOCAL, SCM_FRAME_NUM_LOCALS): Adapt to stack representation
  change.
  (SCM_FRAME_SLOT): New helper.
  (SCM_VM_FRAME_FP, SCM_VM_FRAME_SP): Adapt to stack growth change.

* libguile/stacks.c (scm_make_stack): Record offsets from top of stack.

* libguile/throw.c (catch): Adapt to scm_i_prompt_pop_abort_args_x
  change.

* libguile/vm-engine.c (ALLOC_FRAME, RESET_FRAME):
  (FRAME_LOCALS_COUNT_FROM): Adapt to stack growth change.
  (LOCAL_ADDRESS): Use SCM_FRAME_SLOT to get the address as the proper
  data type.
  (RETURN_ONE_VALUE, RETURN_VALUE_LIST): Adapt to stack growth change.
  (apply): Shuffling up the SMOB apply args can cause the stack to
  expand, so use ALLOC_FRAME instead of RESET_FRAME.
  (vm_engine): Adapt for stack growth change.

* libguile/vm.c (vm_increase_sp, vm_push_sp, vm_restore_sp): Adapt to
  stack representation change.
  (scm_i_vm_cont_to_frame): Adapt to take offsets from the top.
  (scm_i_vm_capture_stack): Adapt to capture from the top.
  (vm_return_to_continuation_inner): Adapt for data type changes.
  (vm_return_to_continuation): Likewise, and instead of looping, just
  splat the saved arguments on with memcpy.
  (vm_dispatch_hook): Adapt to receive arguments in the reverse order.
  Adapt callers.
  (vm_abort): There is never a tail argument.  Adapt to stack
  representation change.
  (vm_reinstate_partial_continuation)
  (vm_reinstate_partial_continuation_inner): Adapt to stack growth
  change.
  (allocate_stack, free_stack): Adapt to data type change.
  (expand_stack): Don't try to mremap(), as you can't grow a mapping
  from the bottom.  Without knowing that there's a free mapping space
  right below the old stack, which there usually isn't on Linux, we have
  to copy.  We can't use MAP_GROWSDOWN because Linux is buggy.
  (make_vm): Adapt to stack representation changes.
  (return_unused_stack_to_os): Round down instead of up, as the stack
  grows down.
  (scm_i_vm_mark_stack): Adapt to walk up the stack.
  (scm_i_vm_free_stack): Adapt to scm_vm changes.
  (vm_expand_stack_inner, reset_stack_limit, vm_expand_stack): Adapt to
  the stack growing down.
  (scm_call_n): Adapt to the stack growing down.  Don't allow argv to
  point into the stack.

* libguile/vm.h (struct scm_vm, struct scm_vm_cont): Adapt to hold the
  stack top and bottom.
2015-10-21 11:49:20 +02:00
..
.gitignore libguile gitignore 2010-09-12 23:39:52 +02:00
__scm.h Merge commit '750ac8c592' 2013-11-28 14:53:03 +01:00
_scm.h Add make-vector opcode 2014-04-21 22:47:33 +02:00
alist.c Merge remote-tracking branch 'origin/stable-2.0' 2012-02-08 11:48:08 +01:00
alist.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
arbiters.c locking for putc, puts 2011-11-08 00:55:05 +01:00
arbiters.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
array-handle.c Simplify scm_array_get_handle for tc7-arrays 2014-02-09 20:58:16 +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 Pack array dimensions in array object 2014-09-30 11:35:08 +02:00
array-map.h Deprecate scm_array_fill_int() 2013-04-05 22:54:14 +02:00
arrays.c Non-vector 1D arrays print as #1() 2015-02-18 09:32:30 +01:00
arrays.h Pack array dimensions in array object 2014-09-30 11:35:08 +02:00
async.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
async.h Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
backtrace.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
backtrace.h print-exception gets a c binding 2011-02-11 13:13:26 +01:00
bdw-gc.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
bitvectors.c Fix bit-count* bug 2014-07-04 16:52:29 +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 Merge commit '8cf2a7ba74' 2015-01-22 13:24:30 +01:00
bytevectors.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +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
ChangeLog-1996-1999
ChangeLog-2000
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
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 Support for Unicode general categories 2009-12-24 11:55:47 -05:00
continuations.c VM stack grows downward 2015-10-21 11:49:20 +02:00
continuations.h Optimize make-stack 2014-04-14 16:31:02 +02:00
control.c VM stack grows downward 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
conv-uinteger.i.c Remove references to undefined macros. 2009-11-17 23:42:22 +01:00
cpp-E.syms Update cpp-E.syms' and cpp-SIG.syms'. 2010-10-15 15:56:03 +02:00
cpp-SIG.syms Update cpp-E.syms' and cpp-SIG.syms'. 2010-10-15 15:56:03 +02:00
debug-malloc.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
debug-malloc.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
debug.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
debug.h Remove unused union scm_t_debug_info 2015-01-23 16:16:01 +01:00
deprecated.c GOOPS: Deprecate "using-class" procs like slot-ref-using-class 2015-01-23 16:16:03 +01:00
deprecated.h GOOPS: Deprecate "using-class" procs like slot-ref-using-class 2015-01-23 16:16:03 +01:00
deprecation.c Merge remote-tracking branch 'origin/stable-2.0' 2012-07-06 16:52:54 +02:00
deprecation.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
dynl.c Merge remote-tracking branch 'origin/stable-2.0' 2013-01-07 17:23:26 -05:00
dynl.h Simplify the (system foreign) API. 2010-07-26 19:38:52 +02:00
dynstack.c VM stack grows downward 2015-10-21 11:49:20 +02:00
dynstack.h VM stack grows downward 2015-10-21 11:49:20 +02: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 Merge remote-tracking branch 'origin/stable-2.0' 2012-01-10 00:41:42 +01:00
eq.h remove "discouraged" infrastructure 2010-08-08 14:15:47 +02:00
error.c Merge commit 'fdd319e9bd' 2015-01-22 13:04:34 +01:00
error.h Out-of-memory situations raise exceptions instead of aborting 2014-03-22 15:49:31 +01:00
eval.c VM stack grows downward 2015-10-21 11:49:20 +02: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 Simplify variable resolution in the evaluator 2014-12-07 15:52:34 +01: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 Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
feature.c Merge remote-tracking branch 'origin/stable-2.0' 2013-01-15 10:45:39 +01:00
feature.h Arrange to convert command-line arguments from the right encoding. 2011-12-15 01:31:23 +01:00
filesys.c Merge commit '8cf2a7ba74' 2015-01-22 13:24:30 +01:00
filesys.h Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
finalizers.c Add interface to disable automatic finalization 2014-04-26 14:46:45 +02:00
finalizers.h Add interface to disable automatic finalization 2014-04-26 14:46:45 +02:00
fluids.c Tune initial heap size 2013-11-28 11:32:08 +01:00
fluids.h Simplify dynstack API to only wind one fluid at a time 2013-06-28 20:01:35 +02: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 VM stack grows downward 2015-10-21 11:49:20 +02:00
foreign.h VM stack grows downward 2015-10-21 11:49:20 +02:00
fports.c Merge commit '37b1453032' 2015-01-22 14:37:52 +01:00
fports.h Merge remote-tracking branch 'origin/stable-2.0' 2013-04-14 02:48:33 -04:00
frames.c VM stack grows downward 2015-10-21 11:49:20 +02:00
frames.h VM stack grows downward 2015-10-21 11:49:20 +02:00
gc-inline.h Add thread-local lock-free, TLS-free freelists. 2014-02-02 16:17:54 +01:00
gc-malloc.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
gc.c Use the right GC version macros. 2014-06-09 19:26:55 +02:00
gc.h Out-of-memory situations raise exceptions instead of aborting 2014-03-22 15:49:31 +01:00
gen-scmconfig.c Include <config.h> in gen-scmconfig even when cross-compiling. 2014-03-13 23:27:16 -04:00
gen-scmconfig.h.in check for iconveh values at configure-time 2011-04-28 22:39:20 +02:00
generalized-arrays.c Inline scm_i_array_implementation_for_obj in scm_i_array 2014-02-08 21:46:06 +01:00
generalized-arrays.h Merge commit 'fb7dd00169' 2014-02-08 15:31:37 +01:00
generalized-vectors.c Fix bad uses of base and lbnd on rank 1 arrays 2014-02-07 10:36:55 +01:00
generalized-vectors.h Fix bad uses of base and lbnd on rank 1 arrays 2014-02-07 10:36:55 +01:00
gettext.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
gettext.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
goops.c Add #:static-slot-allocation? 2015-02-06 13:25:17 +01:00
goops.h Add #:static-slot-allocation? 2015-02-06 13:25:17 +01:00
gsubr.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
gsubr.h Remove RTL_ infix from macros 2013-11-19 18:28:19 +01:00
guardians.c Merge remote-tracking branch 'origin/stable-2.0' 2013-11-28 16:24:38 +01:00
guardians.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-func-name-check Revert "[build] Rewrite guile-func-name-check in Scheme, adding features." 2010-08-27 13:05:23 -07: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 Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
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 Test for deleted weak pairs in hash-for-each. 2014-03-12 02:36:35 -04:00
hashtab.h Merge remote-tracking branch 'origin/stable-2.0' 2013-02-18 17:59:38 +01:00
hooks.c locking for putc, puts 2011-11-08 00:55:05 +01:00
hooks.h add scm_call_n, scm_c_run_hookn 2009-12-21 21:06:27 +01:00
i18n.c i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. 2014-10-14 20:36:19 -04:00
i18n.h Improved support for Unicode title case in Guile's string and character APIs. 2009-12-22 00:19:56 -05:00
init.c Merge commit 'a7bbba0583' 2015-01-22 13:04:11 +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 Fix thread-unsafe lazy initializations. 2014-01-23 23:44:11 -05:00
instructions.h Move RTL unpack macros to vm-engine.c 2013-11-19 21:12:21 +01:00
ioext.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
ioext.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
iselect.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
keywords.c Keywords have a tc7 2015-01-22 13:03:11 +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 Use a linker version script for libguile. 2009-08-09 23:40:11 +02:00
list.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
list.h factor copy-tree and cons-source out of eval.[ch] 2009-12-01 21:00:26 +01:00
load.c Merge commit 'fdd319e9bd' 2015-01-22 13:04:34 +01:00
load.h Fix problems with Windows file names that use backslashes. 2014-07-03 20:58:19 +03:00
loader.c PT_DYNAMIC inside some other PT_LOAD segment 2014-02-17 14:15:34 +01:00
loader.h More precise stack marking via .guile.frame-maps section 2014-01-26 20:55:04 +01:00
locale-categories.h i18n: Ignore LC_MESSAGES on MinGW. 2014-06-11 14:54:21 +02:00
macros.c Merge remote-tracking branch 'origin/stable-2.0' 2012-05-23 12:38:56 +02:00
macros.h clean up macros.[ch] 2010-01-05 15:33:46 +01:00
Makefile.am Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
mallocs.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
mallocs.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
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
mkstemp.c Rely on Gnulib for <unistd.h>. 2014-02-27 22:38:48 -05: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 getaddrinfo: Document the missing errno value for EAI_SYSTEM. 2013-03-25 22:46:53 +01:00
net_db.h Add `getaddrinfo' and related procedures. 2010-02-14 20:56:47 +01:00
null-threads.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
null-threads.h Revert "add pthread_atfork helpers to our threading shims" 2012-02-23 14:18:57 +01:00
numbers.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
numbers.h Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
objprop.c check for pairs with scm_is_pair, not scm_nimp 2011-10-24 17:22:47 +02:00
objprop.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
options.c remove object protection from options.c 2011-11-24 11:47:35 +01:00
options.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
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 rely on gnulib for `poll' 2013-03-10 23:44:23 +01:00
poll.h add (ice-9 poll), a poll wrapper 2010-12-03 15:16:37 +01:00
ports-internal.h Prepare 'setvbuf' to support for non-file ports. 2014-01-18 22:52:07 +01:00
ports.c Deprecate C exports of GOOPS classes. 2015-01-23 16:16:00 +01:00
ports.h Merge commit '122f24cc8a' 2014-02-07 14:39:01 +01:00
posix.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
posix.h Move {total,current}-processor-count' outside of posix.c'. 2011-04-25 22:41:58 +02:00
print.c Merge commit '5943a62042' 2015-01-22 14:38:00 +01:00
print.h Merge remote-tracking branch 'origin/stable-2.0' 2012-10-30 23:46:31 -04:00
private-options.h print: Support R7RS |...| symbol notation. 2014-01-14 20:30:24 -05:00
procprop.c Block system asyncs while 'overrides_lock' is held. 2013-11-23 14:48:00 -05: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 Fix inner and outer stack cuts to match on procedure code 2014-05-01 14:26:20 +02:00
programs.h Fix inner and outer stack cuts to match on procedure code 2014-05-01 14:26:20 +02:00
promises.c Merge remote-tracking branch 'origin/stable-2.0' 2012-02-08 11:48:08 +01:00
promises.h promises are in their own file now 2009-12-01 21:00:26 +01:00
pthread-threads.h Revert "add pthread_atfork helpers to our threading shims" 2012-02-23 14:18:57 +01:00
quicksort.i.c remove uses of trampolines within guile itself 2009-12-01 21:00:25 +01:00
r6rs-ports.c Merge commit 'ed72201a79' 2015-01-22 14:53:06 +01:00
r6rs-ports.h Declare r6rs-ports functions 2013-11-27 21:13:20 +01: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 locking on unget_byte, ungetc, ungets 2011-11-08 00:54:58 +01:00
rdelim.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
read.c Merge commit '5af307de43' 2015-01-22 12:50:18 +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 Use Gnulib's `regex' module. 2012-02-03 10:51:46 +01:00
regex-posix.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
remaining-docs-needed
root.c the dynamic stack is really a stack now, instead of a list 2012-03-03 17:06:02 +01:00
root.h decruftify scm_sys_protects 2009-12-05 12:38:43 +01:00
run-test
rw.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
rw.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scmconfig.h.top Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scmsigs.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
scmsigs.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
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 Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
simpos.h Remove private-gc.h 2013-11-28 11:53:57 +01:00
smob.c Add `scm_smob_type_class()'. 2015-02-10 14:35:35 +01: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 Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
socket.h Deprecate htons, htonl, ntohs, ntohl 2014-02-08 14:28:07 +01:00
sort.c Change uses of scm_is_simple_vector to scm_is_vector 2014-02-08 18:26:49 +01:00
sort.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srcprop.c tune default hash table sizes 2012-02-19 20:46:14 +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 Merge remote-tracking branch 'origin/stable-2.0' 2012-02-08 11:48:08 +01:00
srfi-14.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
srfi-14.i.c Update predefined character sets to Unicode 6.2 2013-02-21 06:44:42 -08: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 Fix compile warnings 2014-03-22 16:06:39 +01:00
stackchk.h Unwind-only stack overflow exceptions 2014-02-20 09:45:01 +01:00
stacks.c VM stack grows downward 2015-10-21 11:49:20 +02:00
stacks.h replace frame implementation with VM frames 2009-12-03 14:42:51 +01:00
stime.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
stime.h scm_c_get_internal_run_time is more precise 2011-05-04 20:19:11 +02:00
strerror.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strings.c Allow decoding of UTF-8 containing U+FFFD, the replacement character. 2015-08-13 01:31:36 -04:00
strings.h Add stringbuf printer 2013-10-26 13:13:17 +02:00
strorder.c provide missing prototypes 2010-01-07 23:49:15 +01:00
strorder.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strports.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
strports.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
struct.c Move <class> initialization to Scheme 2015-01-23 16:16:01 +01: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 Keywords have a tc7 2015-01-22 13:03:11 +01:00
texi-fragments-to-docstrings Build guile-procedures.txt' using (texinfo) instead of makeinfo'. 2013-03-21 23:24:47 +01:00
threads.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
threads.h Add thread-local lock-free, TLS-free freelists. 2014-02-02 16:17:54 +01:00
throw.c VM stack grows downward 2015-10-21 11:49:20 +02:00
throw.h Out-of-memory situations raise exceptions instead of aborting 2014-03-22 15:49:31 +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 factor copy-tree and cons-source out of eval.[ch] 2009-12-01 21:00:26 +01:00
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 copyright dates 2010-04-03 06:46:23 -07:00
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 Merge commit 'fdd319e9bd' 2015-01-22 13:04:34 +01:00
values.c Merge remote-tracking branch 'origin/stable-2.0' 2013-01-07 17:23:26 -05: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 locking for putc, puts 2011-11-08 00:55:05 +01:00
variable.h refactor tc7 and tc16 checks 2011-10-24 18:54:01 +02:00
vectors.c Remove array impl. registry; instead, hard-code array handle creation 2014-02-09 12:48:21 +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 has SCM_EFFECTIVE_VERSION; effective-version uses that 2010-03-16 21:20:29 +01:00
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 VM stack grows downward 2015-10-21 11:49:20 +02:00
vm-expand.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
vm.c VM stack grows downward 2015-10-21 11:49:20 +02:00
vm.h VM stack grows downward 2015-10-21 11:49:20 +02:00
vports.c Soft port fill-input doesn't alter line or column 2014-07-21 21:38:16 +02:00
vports.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
weak-set.c consolidate scm_i_register_weak_gc_callback, update weak-set to fit 2013-01-20 12:37:00 +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 Merge commit 'b86069c130' 2014-02-08 14:46:31 +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
win32-uname.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
win32-uname.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00