(:temporary (:scs (descriptor-reg) :from (:argument 0)) ptr)
(:temporary (:scs (non-descriptor-reg) :type random) temp)
(:temporary (:scs (any-reg) :type fixnum :to (:result 0) :target result)
- count)
+ count)
(:results (result :scs (any-reg descriptor-reg)))
(:policy :fast-safe)
(:vop-var vop)
(inst li 0 count)
(inst extru ptr 31 3 temp)
- (inst comib :<> list-pointer-lowtag temp loose :nullify t)
+ (inst comib :<> list-pointer-lowtag temp lose :nullify t)
(loadw ptr ptr cons-cdr-slot list-pointer-lowtag)
LOOP
(inst comib := list-pointer-lowtag temp loop :nullify t)
(loadw ptr ptr cons-cdr-slot list-pointer-lowtag)
- LOOSE
+ LOSE
(cerror-call vop done object-not-list-error ptr)
DONE