From b03bfe32eec0801a591de195c4c31d5e4fbaae32 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Tue, 5 Dec 2006 21:34:02 +0000 Subject: [PATCH] 1.0.0.24: * Apply base+index addressing fix to x86-64's LISTIFY-REST-ARGS. * Make dynamic-extent allocation on x86 slightly smaller (following x86-64's lead). --- src/compiler/x86-64/call.lisp | 2 +- src/compiler/x86/macros.lisp | 2 +- version.lisp-expr | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compiler/x86-64/call.lisp b/src/compiler/x86-64/call.lisp index 4f25442..269b8c6 100644 --- a/src/compiler/x86-64/call.lisp +++ b/src/compiler/x86-64/call.lisp @@ -1296,7 +1296,7 @@ ;; Check to see whether there are no args, and just return NIL if so. (inst mov result nil-value) (inst jecxz done) - (inst lea dst (make-ea :qword :index rcx :scale 2)) + (inst lea dst (make-ea :qword :base rcx :index rcx)) (maybe-pseudo-atomic stack-allocate-p (allocation dst dst node stack-allocate-p) (inst lea dst (make-ea :byte :base dst :disp list-pointer-lowtag)) diff --git a/src/compiler/x86/macros.lisp b/src/compiler/x86/macros.lisp index c010cfd..f42bcc3 100644 --- a/src/compiler/x86/macros.lisp +++ b/src/compiler/x86/macros.lisp @@ -164,7 +164,7 @@ ;; 32-bit lispobjs). In that case, this AND instruction is ;; unneccessary and could be removed. If not, explain why. -- CSR, ;; 2004-03-30 - (inst and esp-tn #.(ldb (byte 32 0) (lognot lowtag-mask))) + (inst and esp-tn (lognot lowtag-mask)) (aver (not (location= alloc-tn esp-tn))) (inst mov alloc-tn esp-tn) (values)) diff --git a/version.lisp-expr b/version.lisp-expr index f63e977..d51690c 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.0.23" +"1.0.0.24" -- 1.7.10.4