[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Once Again
William explains that I can't move the csp-tn into res in the following
VOP:
(define-vop (allocate-full-call-frame)
(:info nargs)
(:results (res :scs (any-reg)))
(:generator 2
(when (> nargs register-arg-count)
(move res csp-tn)
(inst cal csp-tn csp-tn (* nargs vm:word-bytes)))))
The csp-tn is an any-reg too. Once again, I don't understand why the
compiler wants to coerce between word-pointer-reg and any-reg. If the
problemis that these are both supposed to be word-pointer regs, then why?
How am I supposed to know that. If the csp-tn is supposed to stay an
any-reg, then I'm back to my original question: why do I have to deal with
these coercions when Rob said I wouldn't have to if I made the new
primitive type that was dedicated to word-pointer-regs; that is, the
word-pointer type doesn't include another SC, so there should be any
coercion involved. Where did the type come into play here anyway?
Where am I supposed to find out this information, so I might look it up
before offending William with my ignorance again?
Bill