X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fcall.lisp;h=0a19d72840918672774513142a16a4b112e4b78f;hb=774bf2a2d0442bd8d854ae83db86a65bd9914f26;hp=c99d1a02f68accd384828c0de129c52b2caf8df3;hpb=1f7f3d741e06d63b6a5e140a0e6045bba29e17fb;p=sbcl.git diff --git a/src/compiler/ppc/call.lisp b/src/compiler/ppc/call.lisp index c99d1a0..0a19d72 100644 --- a/src/compiler/ppc/call.lisp +++ b/src/compiler/ppc/call.lisp @@ -662,9 +662,9 @@ default-value-8 :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) @@ -1100,7 +1100,9 @@ default-value-8 (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)