Update of /cvsroot/sbcl/sbcl/src/compiler/ppc
In directory sc8-pr-cvs1:/tmp/cvs-serv26323/src/compiler/ppc
Modified Files:
arith.lisp c-call.lisp
Log Message:
0.8.2.48:
IRC as a substitute for cvs diff | mail sbcl-devel
... purportedly fix the return-from-sigint problem on Darwin/PPC,
from Patrik Nordebo (KingNato)
Index: arith.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/ppc/arith.lisp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- arith.lisp 25 Jun 2002 15:57:14 -0000 1.2
+++ arith.lisp 20 Aug 2003 12:28:59 -0000 1.3
@@ -1,10 +1,15 @@
-;;;
-;;; Converted by William Lott.
-;;;
-
-(in-package "SB!VM")
+;;;; the VM definition arithmetic VOPs 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")
;;;; Unary operations.
Index: c-call.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/ppc/c-call.lisp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- c-call.lisp 29 Jul 2003 13:01:56 -0000 1.3
+++ c-call.lisp 20 Aug 2003 12:28:59 -0000 1.4
@@ -1,15 +1,21 @@
-;;; routines for call-out to C.
-;;;
-;;; Written by William Lott.
-;;;
+;;;; VOPs and other machine-specific support routines for call-out to C
+
+;;;; 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")
-;;; 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.)
-;;;
+;;; 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). On linux, two words are reserved for the stack
+;;; backlink and saved LR (see SB!VM::NUMBER-STACK-DISPLACEMENT).
(defconstant +stack-alignment-bytes+
;; Duh. PPC Linux (and VxWorks) adhere to the EABI.
@@ -333,7 +339,11 @@
(:temporary (:scs (unsigned-reg) :to (:result 0)) temp)
(:generator 0
(unless (zerop amount)
- (let ((delta (- (logandc2 (+ amount 8 +stack-alignment-bytes+)
+ ;; FIXME: I don't understand why we seem to be adding
+ ;; NUMBER-STACK-DISPLACEMENT twice here. Weird. -- CSR,
+ ;; 2003-08-20
+ (let ((delta (- (logandc2 (+ amount number-stack-displacement
+ +stack-alignment-bytes+)
+stack-alignment-bytes+))))
(cond ((>= delta (ash -1 16))
(inst stwu nsp-tn nsp-tn delta))
@@ -351,7 +361,8 @@
(:policy :fast-safe)
(:generator 0
(unless (zerop amount)
- (let ((delta (logandc2 (+ amount 8 +stack-alignment-bytes+)
+ (let ((delta (logandc2 (+ amount number-stack-displacement
+ +stack-alignment-bytes+)
+stack-alignment-bytes+)))
(cond ((< delta (ash 1 16))
(inst addi nsp-tn nsp-tn delta))
|