Rev 3191 | Rev 4345 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3191 | Rev 3403 | ||
|---|---|---|---|
| Line 111... | Line 111... | ||
| 111 | 111 | ||
| 112 | "incl %1\n" /* now use the atomic operation */ |
112 | "incl %1\n" /* now use the atomic operation */ |
| 113 | "xchgl %0, %1\n" |
113 | "xchgl %0, %1\n" |
| 114 | "testl %1, %1\n" |
114 | "testl %1, %1\n" |
| 115 | "jnz 0b\n" |
115 | "jnz 0b\n" |
| 116 | : "+m" (val->count), "=r"(tmp) |
116 | : "+m" (val->count), "=&r"(tmp) |
| 117 | ); |
117 | ); |
| 118 | /* |
118 | /* |
| 119 | * Prevent critical section code from bleeding out this way up. |
119 | * Prevent critical section code from bleeding out this way up. |
| 120 | */ |
120 | */ |
| 121 | CS_ENTER_BARRIER(); |
121 | CS_ENTER_BARRIER(); |