Permalink
Browse files

1.0.41.3: ppc: Implement memory-barrier-vops.

  * Add the VOPs for inlining the various memory-barriers.

  * Add the memory-barrier-vops feature to local-target-features on
ppc systems in make-config.sh.
  • Loading branch information...
1 parent 65b5ab7 commit 7121b6b31a9c6300af775348fb390b75bef6b1d8 Alastair Bridgewater committed Aug 4, 2010
Showing with 37 additions and 2 deletions.
  1. +1 −1 make-config.sh
  2. +35 −0 src/compiler/ppc/system.lisp
  3. +1 −1 version.lisp-expr
View
@@ -329,7 +329,7 @@ elif [ "$sbcl_arch" = "mips" ]; then
tools-for-build/determine-endianness >> $ltf
elif [ "$sbcl_arch" = "ppc" ]; then
printf ' :gencgc :stack-allocatable-closures :stack-allocatable-lists' >> $ltf
- printf ' :linkage-table :raw-instance-init-vops' >> $ltf
+ printf ' :linkage-table :raw-instance-init-vops :memory-barrier-vops' >> $ltf
if [ "$sbcl_os" = "linux" ]; then
# Use a C program to detect which kind of glibc we're building on,
# to bandage across the break in source compatibility between
@@ -234,3 +234,38 @@
(inst lwz count count-vector offset)
(inst addi count count 1)
(inst stw count count-vector offset))))
+
+;;;; Memory barrier support
+
+#!+memory-barrier-vops
+(define-vop (%compiler-barrier)
+ (:policy :fast-safe)
+ (:translate %compiler-barrier)
+ (:generator 3))
+
+#!+memory-barrier-vops
+(define-vop (%memory-barrier)
+ (:policy :fast-safe)
+ (:translate %memory-barrier)
+ (:generator 3
+ (inst sync)))
+
+#!+memory-barrier-vops
+(define-vop (%read-barrier)
+ (:policy :fast-safe)
+ (:translate %read-barrier)
+ (:generator 3
+ (inst sync)))
+
+#!+memory-barrier-vops
+(define-vop (%write-barrier)
+ (:policy :fast-safe)
+ (:translate %write-barrier)
+ (:generator 3
+ (inst sync)))
+
+#!+memory-barrier-vops
+(define-vop (%data-dependency-barrier)
+ (:policy :fast-safe)
+ (:translate %data-dependency-barrier)
+ (:generator 3))
View
@@ -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.41.2"
+"1.0.41.3"

0 comments on commit 7121b6b

Please sign in to comment.