[Openmcl-cvs-notifications] r14949 - /trunk/source/lisp-kernel/arm-asmutils.s

gb at clozure.com gb at clozure.com
Mon Aug 22 06:58:06 CDT 2011


Author: gb
Date: Mon Aug 22 06:58:06 2011
New Revision: 14949

Log:
Don't use deprecated SWP instruction in atomic_swap.

Modified:
    trunk/source/lisp-kernel/arm-asmutils.s

Modified: trunk/source/lisp-kernel/arm-asmutils.s
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/arm-asmutils.s (original)
+++ trunk/source/lisp-kernel/arm-asmutils.s Mon Aug 22 06:58:06 2011
@@ -88,7 +88,10 @@
 =

 _exportfn(C(atomic_swap))
         __(mov r2,r0)
-        __(swp r0,r1,[r2])
+0:      __(ldrex r0,[r2])
+        __(strex r3,r1,[r2]
+        __(cmp r3,#0)
+        __(bne 0b)        =

         __(bx lr)
 _endfn
 =




More information about the Openmcl-cvs-notifications mailing list