(:arg-types system-area-pointer positive-fixnum)
(:temporary (:scs (sap-reg) :from :eval) sap)
(:results (result :scs (descriptor-reg)))
(:arg-types system-area-pointer positive-fixnum)
(:temporary (:scs (sap-reg) :from :eval) sap)
(:results (result :scs (descriptor-reg)))
(:info offset)
(:arg-types system-area-pointer (:constant (signed-byte 14)) *)
(:results (result :scs (descriptor-reg)))
(:info offset)
(:arg-types system-area-pointer (:constant (signed-byte 14)) *)
(:results (result :scs (descriptor-reg)))
(loadw temp thing 0 lowtag)
(inst srl temp n-widetag-bits temp)
(inst beq temp bogus)
(inst sll temp (1- (integer-length n-word-bytes)) temp)
(unless (= lowtag other-pointer-lowtag)
(loadw temp thing 0 lowtag)
(inst srl temp n-widetag-bits temp)
(inst beq temp bogus)
(inst sll temp (1- (integer-length n-word-bytes)) temp)
(unless (= lowtag other-pointer-lowtag)
(:args (value :scs (unsigned-reg) :target result))
(:arg-types unsigned-num)
(:results (result :scs (descriptor-reg)))
(:args (value :scs (unsigned-reg) :target result))
(:arg-types unsigned-num)
(:results (result :scs (descriptor-reg)))