Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
user avatar
rtoy authored
fdefn-raw-addr-slot actually hold a tagged pointer instead of the raw
address.  Not sure if this is good or not, but making it like sparc
makes ppc a little easier.

Might need a cross-compile; the 2005-12-1-ppc cross-compile script
works fine.

assembly/ppc/arith.lisp:
o Static functions are now tagged, so need to adjust address before
  branching to them.

compiler/generic/new-genesis.lisp:
o Fill fdefn-raw-addr-slot with the tagged address instead of
  converting to untagged.

compiler/ppc/call.lisp:
o fdefn-raw-addr-slot is tagged, so need to adjust it before branching
  to function.

compiler/ppc/cell.lisp:
o No need to adjust function address before storing it in the
  fdefn-raw-addr-slot.

compiler/ppc/static-fn.lisp:
o Static functions are tagged, so need to adjust address before
  branching to them.

lisp/gc.c:
o Don't need scav_fdefn, because the fdefn is a tagged object now.

lisp/ppc-assem.S:
o Make undefined_tramp and closure_tramp be tagged instead of
  untagged.

lisp/purify.c
o RAW_ADDR_OFFSET is 0 now, like sparc.
903edb2a
History
Name Last commit Last update
..