X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fcall.lisp;h=fb9cd132d2776bc3c2af7481c8363994a78e291a;hb=20b2378572cf7378f3f267e2234c4234dacfbdc9;hp=daf6a323cc4d4bcc3dbe54b02e42a41ac702dbab;hpb=581e3d62de8cb37e13ad9db63e5537c0f962be28;p=sbcl.git diff --git a/src/compiler/ppc/call.lisp b/src/compiler/ppc/call.lisp index daf6a32..fb9cd13 100644 --- a/src/compiler/ppc/call.lisp +++ b/src/compiler/ppc/call.lisp @@ -99,20 +99,12 @@ ;;;; Frame hackery: -;;; Return the number of bytes needed for the current non-descriptor stack -;;; frame. Non-descriptor stack frames must be multiples of 16 bytes under -;;; the PPC SVr4 ABI (though the EABI may be less restrictive.) Two words -;;; are reserved for the stack backlink and saved LR (see SB!VM::NUMBER-STACK- -;;; DISPLACEMENT.) -;;; -;;; Duh. PPC Linux (and VxWorks) adhere to the EABI. - ;;; this is the first function in this file that differs materially from ;;; ../alpha/call.lisp (defun bytes-needed-for-non-descriptor-stack-frame () - (logandc2 (+ 7 number-stack-displacement - (* (sb-allocated-size 'non-descriptor-stack) sb!vm:n-word-bytes)) - 7)) + (logandc2 (+ +stack-alignment-bytes+ number-stack-displacement + (* (sb-allocated-size 'non-descriptor-stack) n-word-bytes)) + +stack-alignment-bytes+)) ;;; Used for setting up the Old-FP in local call. @@ -147,7 +139,7 @@ (emit-label start-lab) ;; Allocate function header. (inst simple-fun-header-word) - (dotimes (i (1- sb!vm:simple-fun-code-offset)) + (dotimes (i (1- simple-fun-code-offset)) (inst word 0)) (let* ((entry-point (gen-label))) (emit-label entry-point) @@ -784,10 +776,10 @@ default-value-8 (do-next-filler)) (constant (loadw lexenv code-tn (tn-offset arg-fun) - sb!vm:other-pointer-lowtag) + other-pointer-lowtag) (do-next-filler))) - (loadw function lexenv sb!vm:closure-fun-slot - sb!vm:fun-pointer-lowtag) + (loadw function lexenv closure-fun-slot + fun-pointer-lowtag) (do-next-filler) (inst addi entry-point function (- (ash simple-fun-code-offset word-shift) @@ -1075,10 +1067,10 @@ default-value-8 (emit-label loop) ;; *--dst = *--src, --count - (inst addi src src (- sb!vm:n-word-bytes)) + (inst addi src src (- n-word-bytes)) (inst addic. count count (- (fixnumize 1))) (loadw temp src) - (inst addi dst dst (- sb!vm:n-word-bytes)) + (inst addi dst dst (- n-word-bytes)) (storew temp dst) (inst bgt loop)