X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Fmacros.lisp;h=1598bc6c89a8c8b727555e626de9a3e7ef965e07;hb=9b1fade83db8453b75b8c7380eb12ce41b5b889c;hp=44d87ca41dbaab2ed17017f8dd0e4d7aff776ee6;hpb=489bb00dd20898eca10b62d32dd11e5cd79b96a2;p=sbcl.git diff --git a/src/compiler/mips/macros.lisp b/src/compiler/mips/macros.lisp index 44d87ca..1598bc6 100644 --- a/src/compiler/mips/macros.lisp +++ b/src/compiler/mips/macros.lisp @@ -172,8 +172,7 @@ placed inside the PSEUDO-ATOMIC, and presumably initializes the object." ;; has a 1 bit in the same position, we're all set. Otherwise, ;; we need to subtract the pseudo-atomic bit. (inst or ,result-tn alloc-tn ,lowtag) - (unless (logbitp (1- n-lowtag-bits) ,lowtag) - (inst sub ,result-tn 1)) + (unless (logbitp 0 ,lowtag) (inst sub ,result-tn 1)) (inst li ,temp-tn (logior (ash (1- ,size) n-widetag-bits) ,type-code)) (storew ,temp-tn ,result-tn 0 ,lowtag) ,@body))))