X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fassem.lisp;h=ba5c68e67214312458061645e731ea020dcc342c;hb=6a9bbe6f36179cee92001a1f9ed5ff38be512644;hp=e86363335ac92d4712cfaa334cc2a81e6ff1ec21;hpb=148e3820ad314a9b59d0133c1d60eaac4af9118b;p=sbcl.git diff --git a/src/compiler/assem.lisp b/src/compiler/assem.lisp index e863633..ba5c68e 100644 --- a/src/compiler/assem.lisp +++ b/src/compiler/assem.lisp @@ -156,9 +156,7 @@ ;;; BACK-PATCH-FUN so we can avoid this nastiness altogether. (defmacro with-modified-segment-index-and-posn ((segment index posn) &body body) - (let ((n-segment (gensym "SEGMENT")) - (old-index (gensym "OLD-INDEX-")) - (old-posn (gensym "OLD-POSN-"))) + (with-unique-names (n-segment old-index old-posn) `(let* ((,n-segment ,segment) (,old-index (segment-current-index ,n-segment)) (,old-posn (segment-current-posn ,n-segment))) @@ -475,7 +473,7 @@ ;; nothing to do, then emit a nop. ### Note: despite the ;; fact that this is a loop, it really won't work for ;; repetitions other then zero and one. For example, if -p ;; the branch has two dependents and one of them dpends on + ;; the branch has two dependents and one of them dpends on ;; the other, then the stuff that grabs a dependent could ;; easily grab the wrong one. But I don't feel like fixing ;; this because it doesn't matter for any of the @@ -770,7 +768,7 @@ p ;; the branch has two dependents and one of them dpends on (declare (type segment segment) (type annotation note)) (when (annotation-posn note) - (error "attempt to emit ~S a second time")) + (error "attempt to emit ~S a second time" note)) (setf (annotation-posn note) (segment-current-posn segment)) (setf (annotation-index note) (segment-current-index segment)) (let ((last (segment-last-annotation segment)) @@ -1272,8 +1270,7 @@ p ;; the branch has two dependents and one of them dpends on (setf (segment-postits segment) (segment-postits other-segment)) (dolist (postit postits) (emit-back-patch segment 0 postit))) - #!-x86 (emit-alignment segment nil max-alignment) - #!+x86 (emit-alignment segment nil max-alignment #x90) + (emit-alignment segment nil max-alignment #!+(or x86-64 x86) #x90) (let ((segment-current-index-0 (segment-current-index segment)) (segment-current-posn-0 (segment-current-posn segment))) (incf (segment-current-index segment) @@ -1654,8 +1651,7 @@ p ;; the branch has two dependents and one of them dpends on (append ,@(extract-nths 0 'list pdefs))))))))) (defmacro define-instruction-macro (name lambda-list &body body) - (let ((whole (gensym "WHOLE-")) - (env (gensym "ENV-"))) + (with-unique-names (whole env) (multiple-value-bind (body local-defs) (sb!kernel:parse-defmacro lambda-list whole