From: Stas Boukarev Date: Thu, 15 Aug 2013 18:02:54 +0000 (+0400) Subject: Add a memory barrier inside pseudo-atomic on PPC. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=348d1ba6cd5a3e718e6f5e2f4826dc7e791ad83c;p=sbcl.git Add a memory barrier inside pseudo-atomic on PPC. Solves problems with allocation and multiple threads. --- diff --git a/src/compiler/ppc/macros.lisp b/src/compiler/ppc/macros.lisp index 645c566..1905a7f 100644 --- a/src/compiler/ppc/macros.lisp +++ b/src/compiler/ppc/macros.lisp @@ -354,6 +354,7 @@ (inst twi :ne ,flag-tn 0)) (inst ori alloc-tn alloc-tn pseudo-atomic-flag)) ,@forms + (inst sync) (without-scheduling () (inst subi alloc-tn alloc-tn pseudo-atomic-flag) ;; Now test to see if the pseudo-atomic interrupted bit is set.