X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fppc%2Fvalues.lisp;h=ddead7c356fe09189037266c447a081f9bca6df9;hb=9304704f68a18894fa8eb985b387465e5d25e1d5;hp=beb3057e32eeade10f845dda87a6124a39e2bbd6;hpb=52cfe54802db8736f1f4e2b67764c43bba9b78b3;p=sbcl.git diff --git a/src/compiler/ppc/values.lisp b/src/compiler/ppc/values.lisp index beb3057..ddead7c 100644 --- a/src/compiler/ppc/values.lisp +++ b/src/compiler/ppc/values.lisp @@ -105,7 +105,7 @@ (inst addi csp-tn csp-tn n-word-bytes) (storew temp csp-tn -1) (test-type list loop nil (list-pointer-lowtag) :temp ndescr) - (error-call vop bogus-arg-to-values-list-error list) + (error-call vop 'bogus-arg-to-values-list-error list) (emit-label done) (inst sub count csp-tn start)))) @@ -116,9 +116,8 @@ ;;; (define-vop (%more-arg-values) (:args (context :scs (descriptor-reg any-reg) :target src) - (skip :scs (any-reg zero immediate)) (num :scs (any-reg) :target count)) - (:arg-types * positive-fixnum positive-fixnum) + (:arg-types * positive-fixnum) (:temporary (:sc any-reg :from (:argument 0)) src) (:temporary (:sc any-reg :from (:argument 2)) dst) (:temporary (:sc descriptor-reg :from (:argument 1)) temp) @@ -126,13 +125,7 @@ (:results (start :scs (any-reg)) (count :scs (any-reg))) (:generator 20 - (sc-case skip - (zero - (inst mr src context)) - (immediate - (inst addi src context (* (tn-value skip) n-word-bytes))) - (any-reg - (inst add src context skip))) + (inst mr src context) (inst mr. count num) (inst mr start csp-tn) (inst beq done)