0.9.10.11:
[sbcl.git] / src / assembly / x86 / assem-rtns.lisp
index 5d7d029..07f017f 100644 (file)
@@ -70,6 +70,7 @@
   (loadw esi ebx -3)
 
   ;; And back we go.
+  (inst stc)
   (inst jmp eax)
 
   ;; Handle the register arg cases.
   (inst mov edx nil-value)
   (inst mov edi edx)
   (inst mov esi edx)
+  (inst stc)
   (inst jmp eax)
 
   ONE-VALUE ; Note: we can get this, because the return-multiple vop
             ; doesn't check for this case when size > speed.
   (loadw edx esi -1)
   (inst mov esp-tn ebx)
-  (inst add eax 2)
+  (inst clc)
   (inst jmp eax)
 
   TWO-VALUES
@@ -92,6 +94,7 @@
   (loadw edi esi -2)
   (inst mov esi nil-value)
   (inst lea esp-tn (make-ea :dword :base ebx :disp (* -2 n-word-bytes)))
+  (inst stc)
   (inst jmp eax)
 
   THREE-VALUES
   (loadw edi esi -2)
   (loadw esi esi -3)
   (inst lea esp-tn (make-ea :dword :base ebx :disp (* -3 n-word-bytes)))
+  (inst stc)
   (inst jmp eax))
 \f
 ;;;; TAIL-CALL-VARIABLE