| Index: third_party/tcmalloc/chromium/src/base/atomicops.h
|
| diff --git a/third_party/tcmalloc/chromium/src/base/atomicops.h b/third_party/tcmalloc/chromium/src/base/atomicops.h
|
| index dcb273d1a9dd6ccd58835a0c2985b62659542fdc..17e8a27f0ca58189f1292ce2269b05e42b3aae5f 100644
|
| --- a/third_party/tcmalloc/chromium/src/base/atomicops.h
|
| +++ b/third_party/tcmalloc/chromium/src/base/atomicops.h
|
| @@ -31,6 +31,10 @@
|
| * Author: Sanjay Ghemawat
|
| */
|
|
|
| +// For atomic operations on statistics counters, see atomic_stats_counter.h.
|
| +// For atomic operations on sequence numbers, see atomic_sequence_num.h.
|
| +// For atomic operations on reference counts, see atomic_refcount.h.
|
| +
|
| // Some fast atomic operations -- typically with machine-dependent
|
| // implementations. This file may need editing as Google code is
|
| // ported to different architectures.
|
| @@ -79,14 +83,30 @@
|
| // #else
|
| // # define AtomicWordCastType Atomic32
|
| // #endif
|
| -// ------------------------------------------------------------------------
|
| -
|
| +// TODO(csilvers): figure out ARCH_PIII/ARCH_K8 (perhaps via ./configure?)
|
| +// ------------------------------------------------------------------------
|
| +
|
| +#include "base/arm_instruction_set_select.h"
|
| +
|
| +// TODO(csilvers): match piii, not just __i386. Also, match k8
|
| #if defined(__MACH__) && defined(__APPLE__)
|
| #include "base/atomicops-internals-macosx.h"
|
| +#elif defined(__GNUC__) && defined(ARMV6)
|
| +#include "base/atomicops-internals-arm-v6plus.h"
|
| +#elif defined(ARMV3)
|
| +#include "base/atomicops-internals-arm-generic.h"
|
| #elif defined(_WIN32)
|
| #include "base/atomicops-internals-windows.h"
|
| +#elif defined(__GNUC__) && (defined(__i386) || defined(__x86_64__))
|
| +#include "base/atomicops-internals-x86.h"
|
| +#elif defined(__linux__) && defined(__PPC__)
|
| +#include "base/atomicops-internals-linuxppc.h"
|
| #else
|
| -#include "base/atomicops_internals_portable.h"
|
| +// Assume x86 for now. If you need to support a new architecture and
|
| +// don't know how to implement atomic ops, you can probably get away
|
| +// with using pthreads, since atomicops is only used by spinlock.h/cc
|
| +//#error You need to implement atomic operations for this architecture
|
| +#include "base/atomicops-internals-x86.h"
|
| #endif
|
|
|
| // Signed type that can hold a pointer and supports the atomic ops below, as
|
|
|