X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fvm.lisp;h=12b552c5e2a8da3fb7160a383bc9b4449a387242;hb=210d45383946d792b29749da85715786e48b2fbe;hp=1a0333bce7c910a447b8ac906a50412f3f943fc2;hpb=581e3d62de8cb37e13ad9db63e5537c0f962be28;p=sbcl.git diff --git a/src/compiler/ppc/vm.lisp b/src/compiler/ppc/vm.lisp index 1a0333b..12b552c 100644 --- a/src/compiler/ppc/vm.lisp +++ b/src/compiler/ppc/vm.lisp @@ -1,4 +1,14 @@ -;;; +;;;; miscellaneous VM definition noise for the PPC + +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; This software is derived from the CMU CL system, which was +;;;; written at Carnegie Mellon University and released into the +;;;; public domain. The software is in the public domain and is +;;;; provided with absolutely no warranty. See the COPYING and CREDITS +;;;; files for more information. + (in-package "SB!VM") @@ -31,8 +41,13 @@ (defreg nl6 9) (defreg fdefn 10) ; was nl7 (defreg nargs 11) - (defreg nfp 12) - (defreg cfunc 13) + ;; FIXME: some kind of comment here would be nice. + ;; + ;; FIXME II: this also reveals the need to autogenerate lispregs.h + #!+darwin (defreg cfunc 12) + #!-darwin (defreg nfp 12) + #!+darwin (defreg nfp 13) + #!-darwin (defreg cfunc 13) (defreg bsp 14) (defreg cfp 15) (defreg csp 16) @@ -93,9 +108,7 @@ ((null classes) (nreverse forms)))) -;; XXX this is most likely wrong. Check with Eric Marsden next time you -;; see him -(def!constant sb!vm::kludge-nondeterministic-catch-block-size 7) +(def!constant kludge-nondeterministic-catch-block-size 7) (define-storage-classes @@ -216,9 +229,7 @@ ;; A catch or unwind block. (catch-block control-stack - :element-size sb!vm::kludge-nondeterministic-catch-block-size)) - - + :element-size kludge-nondeterministic-catch-block-size)) ;;;; Make some random tns for important registers. @@ -315,4 +326,7 @@ (defun extern-alien-name (name) (declare (type simple-base-string name)) - name) + ;; Darwin is non-ELF, and needs a _ prefix + #!+darwin (concatenate 'string "_" name) + ;; The other (ELF) ports currently don't need any prefix + #!-darwin name)