From: Douglas K. <sn...@us...> - 2014-01-31 22:31:19
|
The branch "master" has been updated in SBCL: via f5e56f8a431d8ce88d72b21bfc60c8c398b9261f (commit) from 3d300d6b23877aef1a7db21dc951eb3c0ed10e66 (commit) - Log ----------------------------------------------------------------- commit f5e56f8a431d8ce88d72b21bfc60c8c398b9261f Author: Douglas Katzman <do...@go...> Date: Fri Jan 31 17:29:23 2014 -0500 Tweak VECTOR-SAP on x86-64 --- src/compiler/x86-64/sap.lisp | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/compiler/x86-64/sap.lisp b/src/compiler/x86-64/sap.lisp index e086659..0da0104 100644 --- a/src/compiler/x86-64/sap.lisp +++ b/src/compiler/x86-64/sap.lisp @@ -347,9 +347,8 @@ (:results (sap :scs (sap-reg))) (:result-types system-area-pointer) (:generator 2 - (move sap vector) - (inst add - sap - (- (* vector-data-offset n-word-bytes) other-pointer-lowtag)))) - + (let ((disp (- (* vector-data-offset n-word-bytes) other-pointer-lowtag))) + (if (location= sap vector) + (inst add sap disp) + (inst lea sap (make-ea :qword :base vector :disp disp)))))) ----------------------------------------------------------------------- hooks/post-receive -- SBCL |