-
- Downloads
Make ppc port look a little more like sparc by making
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.
Showing
- assembly/ppc/arith.lisp 17 additions, 9 deletionsassembly/ppc/arith.lisp
- compiler/generic/new-genesis.lisp 2 additions, 2 deletionscompiler/generic/new-genesis.lisp
- compiler/ppc/call.lisp 6 additions, 3 deletionscompiler/ppc/call.lisp
- compiler/ppc/cell.lisp 3 additions, 1 deletioncompiler/ppc/cell.lisp
- compiler/ppc/static-fn.lisp 5 additions, 2 deletionscompiler/ppc/static-fn.lisp
- lisp/gc.c 3 additions, 3 deletionslisp/gc.c
- lisp/ppc-assem.S 22 additions, 0 deletionslisp/ppc-assem.S
- lisp/purify.c 2 additions, 2 deletionslisp/purify.c
Loading
Please register or sign in to comment