mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2025-12-06 02:40:26 -08:00
Use lisp integers, not just fixnums, to store addresses.
This commit is contained in:
parent
63fb67ed0c
commit
e537b5fe36
2 changed files with 6 additions and 6 deletions
10
src/c/eval.d
10
src/c/eval.d
|
|
@ -158,16 +158,16 @@ link_call(cl_object sym, cl_object (**pLK)(), cl_object *args)
|
|||
|
||||
switch (type_of(fun)) {
|
||||
case t_cfun:
|
||||
putprop(sym, CONS(CONS(MAKE_FIXNUM((int)pLK),
|
||||
MAKE_FIXNUM((int)*pLK)),
|
||||
putprop(sym, CONS(CONS(make_unsigned_integer((cl_index)pLK),
|
||||
make_unsigned_integer((cl_index)*pLK)),
|
||||
getf(sym->symbol.plist, @'si::link-from', Cnil)),
|
||||
@'si::link-from');
|
||||
*pLK = fun->cfun.entry;
|
||||
return APPLY(narg, fun->cfun.entry, &args[1]);
|
||||
#ifdef CLOS
|
||||
case t_gfun:
|
||||
putprop(sym, CONS(CONS(MAKE_FIXNUM((int)gfun),
|
||||
MAKE_FIXNUM((int)OBJNULL)),
|
||||
putprop(sym, CONS(CONS(make_unsigned_integer((cl_index)gfun),
|
||||
make_unsigned_integer((cl_index)OBJNULL)),
|
||||
getf(sym->symbol.plist, @'si::link-from', Cnil)),
|
||||
@'si::link-from');
|
||||
*gfun = fun;
|
||||
|
|
@ -193,7 +193,7 @@ link_call(cl_object sym, cl_object (**pLK)(), cl_object *args)
|
|||
pl = getf(s->symbol.plist, @'si::link-from', Cnil);
|
||||
if (!endp(pl)) {
|
||||
for (; !endp(pl); pl = CDR(pl))
|
||||
*(int *)(fix(CAAR(pl))) = fix(CDAR(pl));
|
||||
*(void **)(fixnnint(CAAR(pl))) = (void *)fixnnint(CDAR(pl));
|
||||
remf(&s->symbol.plist, @'si::link-from');
|
||||
}
|
||||
@(return)
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ main(int argc, char **argv)
|
|||
|
||||
@(defun si::pointer (x)
|
||||
@
|
||||
@(return MAKE_FIXNUM((int)x))
|
||||
@(return make_unsigned_integer((cl_index)x))
|
||||
@)
|
||||
|
||||
#ifdef HAVE_SYS_UTSNAME_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue