New function: SB-EXT:SPIN-LOOP-HINT
[sbcl.git] / src / compiler / x86 / system.lisp
index 77981e8..2128d2b 100644 (file)
@@ -372,18 +372,22 @@ number of CPU cycles elapsed as secondary value. EXPERIMENTAL."
 (define-vop (%read-barrier)
   (:policy :fast-safe)
   (:translate %read-barrier)
-  (:generator 3
-    (inst add (make-ea :dword :base esp-tn) 0 :lock)))
+  (:generator 3))
 
 #!+memory-barrier-vops
 (define-vop (%write-barrier)
   (:policy :fast-safe)
   (:translate %write-barrier)
-  (:generator 3
-    (inst add (make-ea :dword :base esp-tn) 0 :lock)))
+  (:generator 3))
 
 #!+memory-barrier-vops
 (define-vop (%data-dependency-barrier)
   (:policy :fast-safe)
   (:translate %data-dependency-barrier)
   (:generator 3))
+
+(define-vop (pause)
+  (:translate spin-loop-hint)
+  (:policy :fast-safe)
+  (:generator 0
+    (inst pause)))