mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-17 06:42:18 -08:00
All function objects now have function pointers.
This commit is contained in:
parent
9f42309fbd
commit
e4870189d2
10 changed files with 212 additions and 145 deletions
|
|
@ -697,14 +697,15 @@
|
|||
(defun output-cfuns (stream)
|
||||
(format stream "~%#ifndef compiler_cfuns~
|
||||
~%static const struct ecl_cfun compiler_cfuns[] = {~
|
||||
~%~t/*t,m,narg,padding,name,entry,block*/");
|
||||
~%~t/*t,m,narg,padding,name,block,entry,entry_fixed*/");
|
||||
(loop for (loc fname-loc fun) in (nreverse *global-cfuns-array*)
|
||||
do (let* ((cfun (fun-cfun fun))
|
||||
(minarg (fun-minarg fun))
|
||||
(maxarg (fun-maxarg fun))
|
||||
(narg (if (= minarg maxarg) maxarg nil)))
|
||||
(format stream "~%{0,0,~D,0,MAKE_FIXNUM(~D),(cl_objectfn)~A,MAKE_FIXNUM(~D)},"
|
||||
(or narg -1) (second loc) cfun (second fname-loc))))
|
||||
(format stream "~%{0,0,~D,0,MAKE_FIXNUM(~D),MAKE_FIXNUM(~D),(cl_objectfn)~A,(cl_objectfn_fixed)~A},"
|
||||
(or narg -1) (second loc) (second fname-loc)
|
||||
cfun cfun)))
|
||||
(format stream "~%};~%#endif"))
|
||||
|
||||
;;; ----------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue