X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fnlx.lisp;h=72b13665aa80ba89afc3547924fb80730292ab84;hb=07ab1e4811ab16f95a9a5e8d767426a0787f22c0;hp=5a1314cb75a193c29a787077456fdfb6f53aade2;hpb=578d987735906eb05829f0c2235a3ba9225c2bc4;p=sbcl.git diff --git a/src/compiler/x86/nlx.lisp b/src/compiler/x86/nlx.lisp index 5a1314c..72b1366 100644 --- a/src/compiler/x86/nlx.lisp +++ b/src/compiler/x86/nlx.lisp @@ -83,8 +83,7 @@ block catch-block-entry-pc-slot) #!+win32 (progn - (inst fs-segment-prefix) - (inst mov temp (make-ea :dword :disp 0)) + (inst mov temp (make-ea :dword :disp 0) :fs) (storew temp block unwind-block-next-seh-frame-slot)))) ;;; like MAKE-UNWIND-BLOCK, except that we also store in the specified @@ -104,8 +103,7 @@ block catch-block-entry-pc-slot) #!+win32 (progn - (inst fs-segment-prefix) - (inst mov temp (make-ea :dword :disp 0)) + (inst mov temp (make-ea :dword :disp 0) :fs) (storew temp block unwind-block-next-seh-frame-slot)) (storew tag block catch-block-tag-slot) (load-tl-symbol-value temp *current-catch-block*) @@ -126,8 +124,7 @@ (inst lea seh-frame (make-ea-for-object-slot new-uwp unwind-block-next-seh-frame-slot 0)) - (inst fs-segment-prefix) - (inst mov (make-ea :dword :disp 0) seh-frame)) + (inst mov (make-ea :dword :disp 0) seh-frame :fs)) (store-tl-symbol-value new-uwp *current-unwind-protect-block* tls))) (define-vop (unlink-catch-block) @@ -149,8 +146,7 @@ #!+win32 (progn (loadw seh-frame block unwind-block-next-seh-frame-slot) - (inst fs-segment-prefix) - (inst mov (make-ea :dword :disp 0) seh-frame)) + (inst mov (make-ea :dword :disp 0) seh-frame :fs)) (loadw block block unwind-block-current-uwp-slot) (store-tl-symbol-value block *current-unwind-protect-block* tls))) @@ -237,7 +233,7 @@ (inst std) (inst rep) (inst movs :dword) - + (inst cld) DONE ;; Reset the CSP at last moved arg. (inst lea esp-tn (make-ea :dword :base edi :disp n-word-bytes))))