CMUCL commit: amd64-dd-branch src (3 files)

Raymond Toy rtoy at common-lisp.net
Thu Nov 5 03:41:01 CET 2009


    Date: Wednesday, November 4, 2009 @ 21:41:01
  Author: rtoy
    Path: /project/cmucl/cvsroot/src
     Tag: amd64-dd-branch

Modified: compiler/amd64/c-call.lisp compiler/amd64/vm.lisp
          lisp/amd64-assem.S

compiler/amd64/c-call.lisp:
o Make the stack always aligned on an 8-byte boundary.  (Do we need
  more?)

compiler/amd64/vm.lisp:
o For now, don't allow use of any of the extra 64-bit registers for
  any storage classes.

lisp/amd64-assem.S:
o Keep RSP aligned to a multiple of 8.bytes.


----------------------------+
 compiler/amd64/c-call.lisp |    6 +++---
 compiler/amd64/vm.lisp     |   12 +++++++-----
 lisp/amd64-assem.S         |    4 ++--
 3 files changed, 12 insertions(+), 10 deletions(-)


Index: src/compiler/amd64/c-call.lisp
diff -u src/compiler/amd64/c-call.lisp:1.3 src/compiler/amd64/c-call.lisp:1.3.36.1
--- src/compiler/amd64/c-call.lisp:1.3	Tue Jul 20 18:39:21 2004
+++ src/compiler/amd64/c-call.lisp	Wed Nov  4 21:41:00 2009
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group at cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/compiler/amd64/c-call.lisp,v 1.3 2004-07-20 22:39:21 cwang Rel $")
+ "$Header: /project/cmucl/cvsroot/src/compiler/amd64/c-call.lisp,v 1.3.36.1 2009-11-05 02:41:00 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -285,7 +285,7 @@
   (:generator 0
     (assert (location= result rsp-tn))
     (unless (zerop amount)
-      (let ((delta (logandc2 (+ amount 3) 3)))
+      (let ((delta (logandc2 (+ amount 7) 7)))
 	(inst sub rsp-tn delta)))
     (move result rsp-tn)))
 
@@ -293,7 +293,7 @@
   (:info amount)
   (:generator 0
     (unless (zerop amount)
-      (let ((delta (logandc2 (+ amount 3) 3)))
+      (let ((delta (logandc2 (+ amount 7) 7)))
 	(inst add rsp-tn delta)))))
 
 (define-vop (alloc-alien-stack-space)
Index: src/compiler/amd64/vm.lisp
diff -u src/compiler/amd64/vm.lisp:1.2.36.2 src/compiler/amd64/vm.lisp:1.2.36.3
--- src/compiler/amd64/vm.lisp:1.2.36.2	Wed Nov  4 12:05:43 2009
+++ src/compiler/amd64/vm.lisp	Wed Nov  4 21:41:00 2009
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group at cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/compiler/amd64/vm.lisp,v 1.2.36.2 2009-11-04 17:05:43 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/compiler/amd64/vm.lisp,v 1.2.36.3 2009-11-05 02:41:00 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -83,7 +83,8 @@
 (defreg r14w 28 :word)
 (defreg r15w 30 :word)
 ;;;
-(defregset word-regs ax cx dx bx si di r8w r9w r10w r11w r12w r13w r14w r15w)
+;;(defregset word-regs ax cx dx bx si di r8w r9w r10w r11w r12w r13w r14w r15w)
+(defregset word-regs ax cx dx bx si di)
 
 ;;; Double Word registers.
 ;;;
@@ -107,8 +108,8 @@
 (defreg r14d 28 :dword)
 (defreg r15d 30 :dword)
 ;;;
-(defregset dword-regs eax ecx edx ebx esi edi r8d r9d r10d r11d r12d r13d r14d
-	   r15d)
+;;(defregset dword-regs eax ecx edx ebx esi edi r8d r9d r10d r11d r12d r13d r14d r15d)
+(defregset dword-regs eax ecx edx ebx esi edi)
 
 ;;; Quad Word registers.
 ;;;
@@ -132,7 +133,8 @@
 (defreg r14 28 :qword)
 (defreg r15 30 :qword)
 ;;;
-(defregset qword-regs rax rcx rdx rbx rsi rdi r8 r9 r10 r11 r12 r13 r14 r15)
+;;(defregset qword-regs rax rcx rdx rbx rsi rdi r8 r9 r10 r11 r12 r13 r14 r15)
+(defregset qword-regs rax rcx rdx rbx rsi rdi)
 
 ;;; added by jrd
 (eval-when (compile load eval)
Index: src/lisp/amd64-assem.S
diff -u src/lisp/amd64-assem.S:1.10.36.1 src/lisp/amd64-assem.S:1.10.36.2
--- src/lisp/amd64-assem.S:1.10.36.1	Mon Nov  2 09:29:47 2009
+++ src/lisp/amd64-assem.S	Wed Nov  4 21:41:01 2009
@@ -1,6 +1,6 @@
 ### amd64-assem.S -*- Mode: Asm; -*-
 /**
- * $Header: /project/cmucl/cvsroot/src/lisp/amd64-assem.S,v 1.10.36.1 2009-11-02 14:29:47 rtoy Exp $
+ * $Header: /project/cmucl/cvsroot/src/lisp/amd64-assem.S,v 1.10.36.2 2009-11-05 02:41:01 rtoy Exp $
  *
  * Authors:	Paul F. Werkowski <pw at snoopy.mv.com>
  *		Douglas T. Crosher
@@ -141,7 +141,7 @@
 
 /* Save the NPX state */
 	fwait			# Catch any pending NPX exceptions.
-	subq	$108,%rsp	# Make room for the NPX state.
+	subq	$112,%rsp	# Make room for the NPX state.  (Round 108 bytes up to multiple of 8.)
 	fnsave	(%rsp)		# Resets NPX
 
 	movl	(%rsp),%eax	# Load NPX control word



More information about the cmucl-commit mailing list