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 72353de77d Replace dynamic link on stack with previous frame size
* libguile/frames.h (SCM_FRAME_DYNAMIC_LINK)
  (SCM_FRAME_SET_DYNAMIC_LINK): Instead of storing the absolute value of
  the previous FP, store its offset from the current FP.  This allows us
  to avoid relinking when composing continuations or when relocating the
  stack.

* libguile/frames.c (scm_frame_dynamic_link, scm_c_frame_previous): No
  need to relocate the dynamic link.

* libguile/vm.c (vm_return_to_continuation_inner):
  (vm_reinstate_partial_continuation_inner, vm_expand_stack_inner):
  Don't relocate the frame pointer chain.
  (scm_i_vm_mark_stack): Terminate when FP is above stack_top, not when
  0.
  (make_vm): Init FP to stack_top.
2015-10-21 11:49:20 +02:00
..
.gitignore
__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
arbiters.c locking for putc, puts 2011-11-08 00:55:05 +01:00
arbiters.h
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
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
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 Remove sp from scm_vm_cont 2015-10-21 11:49:20 +02: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
conv-uinteger.i.c
cpp-E.syms
cpp-SIG.syms
debug-malloc.c
debug-malloc.h
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
dynl.c Merge remote-tracking branch 'origin/stable-2.0' 2013-01-07 17:23:26 -05:00
dynl.h
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
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
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
extensions.h
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 Rename union scm_vm_stack_element members 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 Replace dynamic link on stack with previous frame size 2015-10-21 11:49:20 +02:00
frames.h Replace dynamic link on stack with previous frame size 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
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
gettext.h
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
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 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
i18n.c i18n: Add HAVE_USELOCALE as a requirement for USE_GNU_LOCALE_API. 2014-10-14 20:36:19 -04:00
i18n.h
init.c Merge commit 'a7bbba0583' 2015-01-22 13:04:11 +01:00
init.h
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
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
list.c Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
list.h
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
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
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
null-threads.c
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
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 rely on gnulib for `poll' 2013-03-10 23:44:23 +01:00
poll.h
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
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
pthread-threads.h Revert "add pthread_atfork helpers to our threading shims" 2012-02-23 14:18:57 +01:00
quicksort.i.c
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
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
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
run-test
rw.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
rw.h
scmconfig.h.top
scmsigs.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04: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 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
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
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 Remove sp from scm_vm_cont 2015-10-21 11:49:20 +02:00
stacks.h
stime.c Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
stime.h
strerror.c
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
strorder.h
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
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 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.in
vm-builtins.h Small comment fix. 2013-11-19 20:02:49 +01:00
vm-engine.c Rename union scm_vm_stack_element members 2015-10-21 11:49:20 +02:00
vm-expand.h
vm.c Replace dynamic link on stack with previous frame size 2015-10-21 11:49:20 +02:00
vm.h Remove sp from scm_vm_cont 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
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
win32-uname.h