David Steuber <david@...> writes:
> Christophe Rhodes <csr21@...> writes:
>> * alter the conditionals in (%nip-values ir2-convert)
>> (src/compiler/ir2tran.lisp) in the obvious way;
> By obviouse way, do you mean fixing the #-x86 and #+x86 reader macros
> to include the PPC? (You see, it isn't so obvious me ;-).
That's right -- I dare say it'll be clearer once anonymous cvs catches
up with the first-class citizens' version...
>> * implement a %%nip-values vop (src/compiler/ppc/values.lisp) to
>> perform stack manipulation like the alpha %%nip-values vop, as
>> <- lower addresses STACK higher addresses ->
>> [... ... ... p1 dN ... ... d1 mn ... ... m1 ]
>> ^ ^ ^
>> | | |
>> last-nipped last-preserved CSP
>> the stack values dN to d1 must be deleted; values mn to m1 moved down
>> to replace them (note that n need not equal N); CSP adjusted, and the
>> pointers to the stack likewise adjusted.
> Apart from the assembler instructions used in those INST calls, how
> different is the function? I mean is it radicly different, or is the
> shape about the same except for the assembler instructions?
It's quite different from the x86 version, because on the x86 the
stack grows downwards, not upwards: this has obvious and less-obvious
effects. However, it's likely to be extremely similar to the alpha
version -- probably not quite just a search-and-replace operation, but
likely fairly straightforward.
> Will slam work for this? I build the whole system from scratch each
> time using make.sh. My PowerBook G4 takes close to an hour to build
> SBCL that way.
I don't think slam works for this, no. On the other hand, it's quite
easy to experiment: simply load src/cold/chill.lisp into a running
lisp, and then develop using emacs or cut'n'paste. Then, when you're
happy that it's all working, check that everything is fine by doing a
> Another thing. The latest version on HEAD doesn't build. I've
> currently checked out 2004-05-12 to confirm that it builds (that is
> the date for 0.8.10.21 that I have working). I'm trying to find out
> when building stopped working and see what changed.
Have you installed any operating system upgrades recently?
It is possible that sbcl's runtime on the powerpc is somewhere doing
something naughty. On the other hand, I'm slightly more inclined to
blame gcc bugs for the problem... but in any case I wish any errors
were deterministically reproduceable.
Since I don't have a Mac, though, I can't really help that much in
> And what does vop mean anyway? Vector Operation?
We think Virtual OPeration. http://sbcl-internals.cliki.net/VOP has a
certain amount of information that has partly been copied from the
CMUCL internals manual and partly reverse-engineered.
http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)