(when lra-label
(inst compute-code-from-lra code-tn code-tn lra-label temp))
- (inst addu csp-tn csp-tn 4)
+ (inst addu csp-tn csp-tn n-word-bytes)
(storew (first *register-arg-tns*) csp-tn -1)
- (inst addu start csp-tn -4)
+ (inst addu start csp-tn (- n-word-bytes))
(inst li count (fixnumize 1))
(emit-label done)
'((:temporary (:scs (non-descriptor-reg)) temp)
(:temporary (:sc control-stack :offset nfp-save-offset) nfp-save)))
- (:temporary (:sc interior-reg :offset lip-offset) entry-point)
+ (:temporary (:sc interior-reg) entry-point)
(:generator ,(+ (if named 5 0)
(if variable 19 1)
(move context context-arg)
(move count count-arg)
;; Check to see if there are any arguments.
- (inst beq count zero-tn done)
+ (inst beq count done)
(move result null-tn t)
;; We need to do this atomically.
;; Dec count, and if != zero, go back for more.
(inst addu count count (fixnumize -1))
- (inst bne count zero-tn loop)
+ (inst bne count loop)
;; Store the value in the car (in delay slot)
(storew temp dst 0 list-pointer-lowtag)
(let ((err-lab
(generate-error-code vop invalid-arg-count-error nargs)))
(cond ((zerop count)
- (inst bne nargs zero-tn err-lab)
+ (inst bne nargs err-lab)
(inst nop))
(t
(inst li temp (fixnumize count))