X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fc-call.lisp;h=7f9277a213d2d4cc5affebc3fb58243c232ea7ba;hb=07ab1e4811ab16f95a9a5e8d767426a0787f22c0;hp=023c99b8c80c2db71a0f94224e2ba6b6369485b5;hpb=2216330b380c4a931ea7564e0b5a7d4bbec75851;p=sbcl.git diff --git a/src/compiler/x86/c-call.lisp b/src/compiler/x86/c-call.lisp index 023c99b..7f9277a 100644 --- a/src/compiler/x86/c-call.lisp +++ b/src/compiler/x86/c-call.lisp @@ -279,6 +279,7 @@ (define-vop (alloc-number-stack-space) (:info amount) (:results (result :scs (sap-reg any-reg))) + (:result-types system-area-pointer) (:generator 0 (aver (location= result esp-tn)) (unless (zerop amount) @@ -291,6 +292,7 @@ (:info amount) #!+sb-thread (:temporary (:sc unsigned-reg) temp) (:results (result :scs (sap-reg any-reg))) + (:result-types system-area-pointer) #!+sb-thread (:generator 0 (aver (not (location= result esp-tn))) @@ -298,8 +300,7 @@ (let ((delta (logandc2 (+ amount 3) 3))) (inst mov temp (make-ea-for-symbol-tls-index *alien-stack*)) - (inst fs-segment-prefix) - (inst sub (make-ea :dword :base temp) delta))) + (inst sub (make-ea :dword :base temp) delta :fs))) (load-tl-symbol-value result *alien-stack*)) #!-sb-thread (:generator 0 @@ -319,8 +320,7 @@ (let ((delta (logandc2 (+ amount 3) 3))) (inst mov temp (make-ea-for-symbol-tls-index *alien-stack*)) - (inst fs-segment-prefix) - (inst add (make-ea :dword :base temp) delta)))) + (inst add (make-ea :dword :base temp) delta :fs)))) #!-sb-thread (:generator 0 (unless (zerop amount)