Commit [93be00] Maximize Restore History

0.9.8.14:

Fix saving a core with callbacks on x86 and x86-64, as
discussed on sbcl-devel "CFFI Callbacks on SBCL" on
2005-12-31. Essentially the problem is that the address of
#'ENTER-ALIEN-CALLBACK is hard-coded into the assembly callback
wrappers, and the address of the function can change when
saving a non-purified core.

* Define a static symbol that contains #'ENTER-ALIEN-CALLBACK
in the value slot.
* Change the x86 / x86-64 wrappers to indirect through the
slot.
* Add minimal test case
* Add a make-config.sh-detected :alien-callbacks feature

Juho Snellman Juho Snellman 2006-01-06

changed src/code/target-alieneval.lisp
changed src/compiler/x86-64/c-call.lisp
changed src/compiler/x86-64/parms.lisp
changed src/compiler/x86/c-call.lisp
changed src/compiler/x86/parms.lisp
changed tests/callback.impure.lisp
changed tests/core.test.sh
changed NEWS
changed base-target-features.lisp-expr
changed make-config.sh
changed package-data-list.lisp-expr
changed version.lisp-expr
src/code/target-alieneval.lisp Diff Switch to side-by-side view
Loading...
src/compiler/x86-64/c-call.lisp Diff Switch to side-by-side view
Loading...
src/compiler/x86-64/parms.lisp Diff Switch to side-by-side view
Loading...
src/compiler/x86/c-call.lisp Diff Switch to side-by-side view
Loading...
src/compiler/x86/parms.lisp Diff Switch to side-by-side view
Loading...
tests/callback.impure.lisp Diff Switch to side-by-side view
Loading...
tests/core.test.sh Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
base-target-features.lisp-expr Diff Switch to side-by-side view
Loading...
make-config.sh Diff Switch to side-by-side view
Loading...
package-data-list.lisp-expr Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...