anchor.diff:    (and (eql *for-value* :tail)
          (<= (length args) 5)))
   
  -(defun emit-tail-call (where &optional what)
  -  (declare (ignorable what))
  -  #+nil(format t "Performing tail call to ~S in ~S~%"
  -          what (lambda-information-name *current-lambda*))
  -  (emit `(sys.lap-x86:leave)
  -        `(:gc :no-frame))
  +(defun emit-tail-call (where)
  +  (emit `(sys.lap-x86:leave))
  +  ;; Tail calls can only be performed when there are no arguments on the stack.
  +  ;; So :GC :NO-FRAME is fine here.
  +  (emit `(:gc :no-frame))
     (emit `(sys.lap-x86:jmp ,where)))
   
   (defun cg-variable (form)
  
positive.code:            (smash-r8)
             (load-constant :rcx (length (rest (arguments form))))
             (cond ((can-tail-call (rest (arguments form)))
                    (emit-tail-call (object-ea :rbx :slot 0) (first (arguments form))))
                   (t (emit `(sys.lap-x86:call ,(object-ea :rbx :slot 0)))))
             (if (member *for-value* '(:multiple :tail))
                 (emit-gc-info :multiple-values 0)
  
negative.code:       (when code-tag
          (load-multiple-values code-tag)
          (emit `(sys.lap-x86:leave)
                `(:gc :no-frame :multiple-values 0)
                `(sys.lap-x86:ret))))
      (let* ((final-code (nconc (generate-entry-code lambda)
                                (nreverse *code-accum*)
  