OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkThreadPriv_DEFINED | 8 #ifndef SkThreadPriv_DEFINED |
9 #define SkThreadPriv_DEFINED | 9 #define SkThreadPriv_DEFINED |
10 | 10 |
11 #include "SkTypes.h" | 11 #include "SkTypes.h" |
12 | 12 |
13 // SK_ATOMICS_PLATFORM_H must provide inline implementations for the following d
eclarations. | 13 // SkAtomics.h must provide inline implementations for the following declaration
s. |
14 | 14 |
15 /** Atomic compare and set, for pointers. | 15 /** Atomic compare and set, for pointers. |
16 * If *addr == before, set *addr to after. Always returns previous value of *a
ddr. | 16 * If *addr == before, set *addr to after. Always returns previous value of *a
ddr. |
17 * This must issue a release barrier on success, acquire on failure, and always
a compiler barrier. | 17 * This must issue a release barrier on success, acquire on failure, and always
a compiler barrier. |
18 */ | 18 */ |
19 static void* sk_atomic_cas(void** addr, void* before, void* after); | 19 static void* sk_atomic_cas(void** addr, void* before, void* after); |
20 | 20 |
21 #ifdef GOOGLE3 | 21 #include "SkAtomics.h" |
22 #include "SkAtomics_sync.h" | |
23 #else | |
24 #include SK_ATOMICS_PLATFORM_H | |
25 #endif | |
26 | 22 |
27 #endif//SkThreadPriv_DEFINED | 23 #endif//SkThreadPriv_DEFINED |
OLD | NEW |