From 6b01fec57d8b4efa21d2d9276c77d94e49829b8c Mon Sep 17 00:00:00 2001
From: cwang <cwang>
Date: Thu, 10 Jun 2004 01:39:53 +0000
Subject: [PATCH] Fix dynamic extent allocation

---
 compiler/amd64/macros.lisp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/compiler/amd64/macros.lisp b/compiler/amd64/macros.lisp
index 1e4d7f331..a5376e9ae 100644
--- a/compiler/amd64/macros.lisp
+++ b/compiler/amd64/macros.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/macros.lisp,v 1.1 2004/05/24 22:35:00 cwang Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/macros.lisp,v 1.2 2004/06/10 01:39:53 cwang Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -234,9 +234,10 @@
 ;;; Allocate SIZE bytes from the stack, storing a pointer to the
 ;;; allocated memory in ALLOC-TN.
 ;;;
-(defun dynamic-extent-allocation (alloc-tn nbytes)
+(defun dynamic-extent-allocation (alloc-tn nbytes temp-tn)
   (inst sub rsp-tn nbytes)
-  (inst and rsp-tn #xfffffffffffffff0) ; alignment
+  (inst mov temp-tn #xfffffffffffffff0)
+  (inst and rsp-tn temp-tn) ; alignment
   (inst mov alloc-tn rsp-tn)
   (values))
 
@@ -247,7 +248,7 @@
    speed vs size decision.  If Dynamic-Extent is true, and otherwise
    appropriate, allocate from the stack."
   (cond (dynamic-extent
-	 (dynamic-extent-allocation alloc-tn size))
+	 (dynamic-extent-allocation alloc-tn size temp-tn))
 	((and *maybe-use-inline-allocation*
 	      (or (null inline)
 		  (policy inline (>= speed space)))
-- 
GitLab