X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fnlx.lisp;h=f177bb26c089b3ff569954096033e90de5dfb18d;hb=079ef9dad558ca07cb8178ef428bf738112174fa;hp=57e77485e05e0c0112390b68f0533b55a6f69dee;hpb=4ebdc81b1a9c6dbed6e98b112afc8dd32b17a2dd;p=sbcl.git diff --git a/src/compiler/x86-64/nlx.lisp b/src/compiler/x86-64/nlx.lisp index 57e7748..f177bb2 100644 --- a/src/compiler/x86-64/nlx.lisp +++ b/src/compiler/x86-64/nlx.lisp @@ -79,8 +79,8 @@ (load-tl-symbol-value temp *current-unwind-protect-block*) (storew temp block unwind-block-current-uwp-slot) (storew rbp-tn block unwind-block-current-cont-slot) - (storew (make-fixup nil :code-object entry-label) - block catch-block-entry-pc-slot))) + (inst lea temp (make-fixup nil :code-object entry-label)) + (storew temp block catch-block-entry-pc-slot))) ;;; like MAKE-UNWIND-BLOCK, except that we also store in the specified ;;; tag, and link the block into the CURRENT-CATCH list @@ -95,8 +95,8 @@ (load-tl-symbol-value temp *current-unwind-protect-block*) (storew temp block unwind-block-current-uwp-slot) (storew rbp-tn block unwind-block-current-cont-slot) - (storew (make-fixup nil :code-object entry-label) - block catch-block-entry-pc-slot) + (inst lea temp (make-fixup nil :code-object entry-label)) + (storew temp block catch-block-entry-pc-slot) (storew tag block catch-block-tag-slot) (load-tl-symbol-value temp *current-catch-block*) (storew temp block catch-block-previous-catch-slot) @@ -211,7 +211,7 @@ ;; Copy them down. (inst std) (inst rep) - (inst movs :dword) + (inst movs :qword) DONE ;; Reset the CSP at last moved arg.