Merge lp:~vkolesnikov/pbxt/pbxt-atomic-inc into lp:pbxt

Proposed by Vladimir Kolesnikov
Status: Merged
Merged at revision: not available
Proposed branch: lp:~vkolesnikov/pbxt/pbxt-atomic-inc
Merge into: lp:pbxt
Diff against target: None lines
To merge this branch: bzr merge lp:~vkolesnikov/pbxt/pbxt-atomic-inc
Reviewer Review Type Date Requested Status
PBXT Core Pending
Review via email: mp+4229@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Vladimir Kolesnikov (vkolesnikov) wrote :

changed ADD to INC, fixed a bug in Linux asm code

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/lock_xt.h'
2--- src/lock_xt.h 2009-03-05 13:31:40 +0000
3+++ src/lock_xt.h 2009-03-06 09:59:56 +0000
4@@ -195,12 +195,10 @@
5 inline void xt_atomic_inc2(volatile xtWord2 *mptr)
6 {
7 #ifdef XT_SPL_WIN32_ASM
8- __asm LOCK ADD WORD PTR mptr, 1
9+ __asm LOCK INC WORD PTR mptr
10 #elif defined(XT_SPL_GNUC_X86)
11 #ifdef XT_HAVE_XADD
12- xtWord2 inc = 1;
13-
14- asm volatile ("lock; addw %0, %1" : "+r" (inc) : "m" (*mptr) : "memory");
15+ asm volatile ("lock; incw %0" : : "m" (*mptr) : "memory");
16 #else
17 xtWord2 val1, val2;
18
19@@ -222,12 +220,10 @@
20 inline void xt_atomic_dec2(volatile xtWord2 *mptr)
21 {
22 #ifdef XT_SPL_WIN32_ASM
23- __asm LOCK SUB WORD PTR mptr, 1
24+ __asm LOCK DEC WORD PTR mptr
25 #elif defined(XT_SPL_GNUC_X86)
26 #ifdef XT_HAVE_XADD
27- xtWord2 inc = -1;
28-
29- asm volatile ("lock; subw %0, %1" : "+r" (inc) : "m" (*mptr) : "memory");
30+ asm volatile ("lock; decw %0" : : "m" (*mptr) : "memory");
31 #else
32 xtWord2 val1, val2;
33

Subscribers

People subscribed via source and target branches