X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fmacros.lisp;h=405064074f8c1e0f561b362502363e9b58cb361d;hb=44fa19275c08a17b9d80d95102c1a8bc0da7a17e;hp=f0ed91e50f563f9579ee0f55568ccb7ed71ef754;hpb=1dd3616e9eadaba9f1ca86b72d64551fbd75f399;p=sbcl.git diff --git a/src/compiler/x86/macros.lisp b/src/compiler/x86/macros.lisp index f0ed91e..4050640 100644 --- a/src/compiler/x86/macros.lisp +++ b/src/compiler/x86/macros.lisp @@ -404,14 +404,13 @@ #!+sb-safepoint (defun emit-safepoint () - (inst test al-tn (make-ea :byte - :disp (make-fixup "gc_safepoint_page" :foreign)))) + (inst test eax-tn (make-ea :dword :disp sb!vm::gc-safepoint-page-addr))) #!+sb-thread (defmacro pseudo-atomic (&rest forms) - #!+win32 + #!+sb-safepoint-strictly `(progn ,@forms (emit-safepoint)) - #!-win32 + #!-sb-safepoint-strictly (with-unique-names (label) `(let ((,label (gen-label))) (inst mov (make-ea :dword :disp (* 4 thread-pseudo-atomic-bits-slot))