((null remaining))
(let ((def (car remaining)))
(emit-label (car def))
- (when (null (cdr remaining))
- (inst b defaulting-done))
(store-stack-tn (cdr def) null-tn)))
+ (inst b defaulting-done)
(trace-table-entry trace-table-normal))))))
(inst compute-code-from-lra code-tn code-tn lra-label temp)))
:from (:argument ,(if (eq return :tail) 0 1))
:to :eval)
lexenv))
- ;; alpha code suggests that function tn is not needed for named call
- (:temporary (:scs (descriptor-reg) :from (:argument 0) :to :eval)
- function)
+ ,@(unless named
+ '((:temporary (:scs (descriptor-reg) :from (:argument 0) :to :eval)
+ function)))
(:temporary (:sc any-reg :offset nargs-offset :to :eval)
nargs-pass)
(define-vop (listify-rest-args)
(:args (context-arg :target context :scs (descriptor-reg))
(count-arg :target count :scs (any-reg)))
- (:arg-types * tagged-num)
+ (:info dx)
+ (:ignore dx)
+ (:arg-types * tagged-num (:constant t))
(:temporary (:scs (any-reg) :from (:argument 0)) context)
(:temporary (:scs (any-reg) :from (:argument 1)) count)
(:temporary (:scs (descriptor-reg) :from :eval) temp)