From: Thiemo Seufer Date: Sun, 19 Aug 2007 23:31:36 +0000 (+0000) Subject: 1.0.8.34: Fix MIPS spinlock implementation. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=3f79185595180cabcb53c05c88e6facc0a60cdb7;p=sbcl.git 1.0.8.34: Fix MIPS spinlock implementation. --- diff --git a/src/runtime/mips-arch.h b/src/runtime/mips-arch.h index eba16e4..ec80381 100644 --- a/src/runtime/mips-arch.h +++ b/src/runtime/mips-arch.h @@ -41,7 +41,20 @@ get_spinlock(volatile lispobj *word, long value) static inline void release_spinlock(volatile lispobj *word) { +#ifdef LISP_FEATURE_SB_THREAD + __asm__ __volatile__ ( + " .set push\n" + " .set mips2\n" + " .set noreorder\n" + " sw $0,%[__mem]\n" + " sync\n" + " .set pop" + : + : [__mem] "R" (*word) + : "memory"); +#else /* LISP_FEATURE_SB_THREAD */ *word=0; +#endif } #endif /* _MIPS_ARCH_H */ diff --git a/version.lisp-expr b/version.lisp-expr index d4c6d84..118b440 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.8.33" +"1.0.8.34"