ecl/src
Daniel Kochmański 293f93b425 stack frames: don't displace onto env->values vector
ad6f1f7f10 (2008-05-12) allowed for displacing
stack frames onto the values vector. This commit seems to be before we've stored
them on lisp stack.

As for the rationale why we revert that change:

1. There may be a slight performance improvement because the standard gf
dispatch won't be forced to copy the stack frame

2. Stack frame operators assume that they are displaced onto env->stack*, for
example ecl_stack_frame_push increments env->stack_top

3. If we fully buy into assumption that the stack frame is displaced onto
env->stack* then we may replace pointers with indexes and protect the user from
accessing invalidated memory when the stack grows

The last point will be implemented in the next commit. It is worth noting, that
frames auto-heal themselves if their own operation is the cause of the stack
growth, but all other stack frames are left invalid after the operation.
2025-05-09 13:55:59 +02:00
..
bdwgc bdwgc: update bundled gc to version 8.2.8 2024-12-05 22:21:45 +01:00
c stack frames: don't displace onto env->values vector 2025-05-09 13:55:59 +02:00
clos gray streams: add missing default method for stream-interactive-p 2024-05-18 13:30:49 +02:00
cmp Merge branch 'fix-750' into 'develop' 2025-04-22 07:02:58 +00:00
doc DESCRIBE prints arguments and source information for operators 2025-01-28 09:22:08 +01:00
ecl Revert "Merge branch 'remove-small-cons' into 'develop'" 2024-12-15 10:01:30 +00:00
gmp build: regenerate configure script with autoconf 2.72 2024-12-05 22:27:10 +01:00
h stack frames: don't displace onto env->values vector 2025-05-09 13:55:59 +02:00
libffi ffi: Update libffi to version 3.3 2019-12-09 19:49:30 +01:00
lsp Merge branch 'fix-750' into 'develop' 2025-04-22 07:02:58 +00:00
tests tests: add a regression test for an encountered issue 2025-05-09 13:55:59 +02:00
util util: turn off thread-events in proposed gdbinit 2024-12-05 14:07:14 +01:00
aclocal.m4 core: factor out process managament from thread managament 2025-03-31 20:44:46 +02:00
bare.lsp.in reintroduce init functions for modules 2020-01-22 19:06:38 +01:00
compile.lsp.in use separate directory for --with-extra-files to avoid name clashes 2025-02-22 20:18:42 +01:00
config.guess build: add a preliminary support for the emscripten target 2023-06-13 22:07:08 +02:00
config.sub build: add a preliminary support for the emscripten target 2023-06-13 22:07:08 +02:00
configure core: factor out process managament from thread managament 2025-03-31 20:44:46 +02:00
configure.ac Revert "Merge branch 'remove-small-cons' into 'develop'" 2024-12-15 10:01:30 +00:00
install.sh
Makefile.in tests: make ansi-test a separate target not triggered by make check 2024-03-10 14:48:12 +01:00