projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.8.10:
[sbcl.git]
/
src
/
code
/
target-alieneval.lisp
diff --git
a/src/code/target-alieneval.lisp
b/src/code/target-alieneval.lisp
index
70fb7bb
..
7a6e041
100644
(file)
--- a/
src/code/target-alieneval.lisp
+++ b/
src/code/target-alieneval.lisp
@@
-830,12
+830,12
@@
ENTER-ALIEN-CALLBACK pulls the corresponsing trampoline out and calls it.")
(sb!kernel:get-lisp-obj-address result-pointer))))
(with-alien
,(loop
(sb!kernel:get-lisp-obj-address result-pointer))))
(with-alien
,(loop
+ with offset = 0
for spec in argument-specs
for spec in argument-specs
- for offset = 0 ; FIXME: Should this not be AND OFFSET ...?
- then (+ offset (alien-callback-argument-bytes spec env))
collect `(,(pop argument-names) ,spec
:local ,(alien-callback-accessor-form
collect `(,(pop argument-names) ,spec
:local ,(alien-callback-accessor-form
- spec 'args-sap offset)))
+ spec 'args-sap offset))
+ do (incf offset (alien-callback-argument-bytes spec env)))
,(flet ((store (spec)
(if spec
`(setf (deref (sap-alien res-sap (* ,spec)))
,(flet ((store (spec)
(if spec
`(setf (deref (sap-alien res-sap (* ,spec)))