From: Alexey D. <ade...@us...> - 2003-03-28 07:07:59
|
Update of /cvsroot/sbcl/sbcl/src/compiler/x86 In directory sc8-pr-cvs1:/tmp/cvs-serv22927/src/compiler/x86 Modified Files: Tag: apd-0-7-cast call.lisp Log Message: 0.7.13.30-cast.7: * ENDP requires the argument to be of type LIST (thanks to CSR); * correct type assertions for arguments of M-V-BIND; * fixed evaluation order in unknown values receiver on X86; Index: call.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/x86/call.lisp,v retrieving revision 1.23 retrieving revision 1.23.8.1 diff -u -d -r1.23 -r1.23.8.1 --- call.lisp 17 Nov 2002 13:56:58 -0000 1.23 +++ call.lisp 28 Mar 2003 07:07:55 -0000 1.23.8.1 @@ -385,8 +385,11 @@ (done (gen-label))) (inst jmp-short variable-values) - (inst mov start esp-tn) - (inst push (first *register-arg-tns*)) + (cond ((location= start (first *register-arg-tns*)) + (inst push (first *register-arg-tns*)) + (inst lea start (make-ea :dword :base esp-tn :disp 4))) + (t (inst mov start esp-tn) + (inst push (first *register-arg-tns*)))) (inst mov count (fixnumize 1)) (inst jmp done) |