(:translate stack-ref)
(:policy :fast-safe)
(:args (object :scs (sap-reg) :target sap)
- (offset :scs (any-reg)))
+ (offset :scs (any-reg)))
(:arg-types system-area-pointer positive-fixnum)
(:temporary (:scs (sap-reg) :from :eval) sap)
(:results (result :scs (descriptor-reg)))
(:result-types *)
(:generator 5
- (inst add sap object offset)
+ (inst addu sap object offset)
(inst lw result sap 0)
(inst nop)))
(:translate %set-stack-ref)
(:policy :fast-safe)
(:args (object :scs (sap-reg) :target sap)
- (offset :scs (any-reg))
- (value :scs (descriptor-reg) :target result))
+ (offset :scs (any-reg))
+ (value :scs (descriptor-reg) :target result))
(:arg-types system-area-pointer positive-fixnum *)
(:results (result :scs (descriptor-reg)))
(:result-types *)
(:temporary (:scs (sap-reg) :from (:argument 1)) sap)
(:generator 2
- (inst add sap object offset)
+ (inst addu sap object offset)
(inst sw value sap 0)
(move result value)))
(:translate %set-stack-ref)
(:policy :fast-safe)
(:args (sap :scs (sap-reg))
- (value :scs (descriptor-reg) :target result))
+ (value :scs (descriptor-reg) :target result))
(:info offset)
(:arg-types system-area-pointer (:constant (signed-byte 14)) *)
(:results (result :scs (descriptor-reg)))
(:variant-vars lowtag)
(:generator 5
(let ((bogus (gen-label))
- (done (gen-label)))
+ (done (gen-label)))
(loadw temp thing 0 lowtag)
(inst srl temp n-widetag-bits)
(inst beq temp bogus)
(inst sll temp (1- (integer-length n-word-bytes)))
(unless (= lowtag other-pointer-lowtag)
- (inst addu temp (- lowtag other-pointer-lowtag)))
+ (inst addu temp (- lowtag other-pointer-lowtag)))
(inst subu code thing temp)
(emit-label done)
(assemble (*elsewhere*)
- (emit-label bogus)
- (inst b done)
- (move code null-tn)))))
+ (emit-label bogus)
+ (inst b done)
+ (move code null-tn t)))))
(define-vop (code-from-lra code-from-mumble)
(:translate lra-code-header)