X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fassembly%2Fx86%2Fsupport.lisp;h=5c285939585a7ff2f096b5b2fc7d0e588e122ed4;hb=HEAD;hp=1b814f32d9c5ede3534375f119cb9c20df92e987;hpb=bf7d6505029cf3f79189a57b48cc1706068d78bc;p=sbcl.git diff --git a/src/assembly/x86/support.lisp b/src/assembly/x86/support.lisp index 1b814f3..5c28593 100644 --- a/src/assembly/x86/support.lisp +++ b/src/assembly/x86/support.lisp @@ -23,7 +23,7 @@ ;;; value, which again simplifies the return path. ;;; -- AB, 2006/Feb/05. -(!def-vm-support-routine generate-call-sequence (name style vop) +(defun generate-call-sequence (name style vop) (ecase style ((:raw :none) (values @@ -33,18 +33,10 @@ (values `((note-this-location ,vop :call-site) (inst call (make-fixup ',name :assembly-routine)) - (note-this-location ,vop :single-value-return) - (cond - ((member :cmov *backend-subfeatures*) - (inst cmov :c esp-tn ebx-tn)) - (t - (let ((single-value (gen-label))) - (inst jmp :nc single-value) - (move esp-tn ebx-tn) - (emit-label single-value))))) + (note-this-location ,vop :single-value-return)) '((:save-p :compute-only)))))) -(!def-vm-support-routine generate-return-sequence (style) +(defun generate-return-sequence (style) (ecase style (:raw `(inst ret))