X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fassembly%2Fx86-64%2Fassem-rtns.lisp;h=dea6cbb3f02feba64365ef0f7d265817f2af8105;hb=ed891a4fd882d1b9fe066ab14bcf2107aea95baa;hp=c3f8d3c9a2f29a073fc5148d23f62bfaea059597;hpb=508d38dc908e6d9f951d539874bf87bd85f8c902;p=sbcl.git diff --git a/src/assembly/x86-64/assem-rtns.lisp b/src/assembly/x86-64/assem-rtns.lisp index c3f8d3c..dea6cbb 100644 --- a/src/assembly/x86-64/assem-rtns.lisp +++ b/src/assembly/x86-64/assem-rtns.lisp @@ -54,6 +54,7 @@ (inst lea edi (make-ea :qword :base ebx :disp (- n-word-bytes))) (inst rep) (inst movs :qword) + (inst cld) ;; Restore the count. (inst mov ecx edx) @@ -150,6 +151,7 @@ (inst sub esi (fixnumize 1)) (inst rep) (inst movs :qword) + (inst cld) ;; Load the register arguments carefully. (loadw edx rbp-tn -1) @@ -169,10 +171,10 @@ (inst push ebx) ;; And jump into the function. - (inst jmp - (make-ea :byte :base eax - :disp (- (* closure-fun-slot n-word-bytes) - fun-pointer-lowtag))) + (inst jmp + (make-ea :byte :base eax + :disp (- (* closure-fun-slot n-word-bytes) + fun-pointer-lowtag))) ;; All the arguments fit in registers, so load them. REGISTER-ARGS @@ -205,7 +207,7 @@ LOOP - (let ((error (generate-error-code nil unseen-throw-tag-error target))) + (let ((error (generate-error-code nil 'unseen-throw-tag-error target))) (inst or catch catch) ; check for NULL pointer (inst jmp :z error)) @@ -232,7 +234,7 @@ (:temp uwp unsigned-reg rsi-offset)) (declare (ignore start count)) - (let ((error (generate-error-code nil invalid-unwind-error))) + (let ((error (generate-error-code nil 'invalid-unwind-error))) (inst or block block) ; check for NULL pointer (inst jmp :z error))