X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Fcell.lisp;h=75756ec12af1f26e5d27a4966463aecd4a070774;hb=a41e7cf8667de9ae078a8e318e8c5c045cdee87d;hp=ab632fbac9ada25f7514ec6ece52a6a464444d1a;hpb=26bbfd93d01cefc0bbf97727379bdbdace8bf609;p=sbcl.git diff --git a/src/compiler/mips/cell.lisp b/src/compiler/mips/cell.lisp index ab632fb..75756ec 100644 --- a/src/compiler/mips/cell.lisp +++ b/src/compiler/mips/cell.lisp @@ -254,11 +254,12 @@ (:policy :fast-safe) (:translate %instance-length) (:args (struct :scs (descriptor-reg))) + (:temporary (:scs (non-descriptor-reg)) temp) (:results (res :scs (unsigned-reg))) (:result-types positive-fixnum) (:generator 4 - (loadw res struct 0 instance-pointer-lowtag) - (inst srl res n-widetag-bits))) + (loadw temp struct 0 instance-pointer-lowtag) + (inst srl res temp n-widetag-bits))) (define-full-reffer instance-index-ref * instance-slots-offset instance-pointer-lowtag (descriptor-reg any-reg) * %instance-ref)