Rev 3424 | Rev 4377 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3424 | Rev 3425 | ||
---|---|---|---|
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(); |