| OLD | NEW | 
|    1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 // This file is an internal atomic implementation, use base/atomicops.h instead. |    5 // This file is an internal atomic implementation, use base/atomicops.h instead. | 
|    6  |    6  | 
|    7 #ifndef BASE_ATOMICOPS_INTERNALS_X86_MSVC_H_ |    7 #ifndef BASE_ATOMICOPS_INTERNALS_X86_MSVC_H_ | 
|    8 #define BASE_ATOMICOPS_INTERNALS_X86_MSVC_H_ |    8 #define BASE_ATOMICOPS_INTERNALS_X86_MSVC_H_ | 
|    9  |    9  | 
|   10 #include <windows.h> |   10 #include <windows.h> | 
|   11  |   11  | 
|   12 #include <intrin.h> |   12 #include <intrin.h> | 
|   13  |   13  | 
|   14 #include "base/macros.h" |   14 #include "base/macros.h" | 
 |   15 #include "build/build_config.h" | 
|   15  |   16  | 
|   16 #if defined(ARCH_CPU_64_BITS) |   17 #if defined(ARCH_CPU_64_BITS) | 
|   17 // windows.h #defines this (only on x64). This causes problems because the |   18 // windows.h #defines this (only on x64). This causes problems because the | 
|   18 // public API also uses MemoryBarrier at the public name for this fence. So, on |   19 // public API also uses MemoryBarrier at the public name for this fence. So, on | 
|   19 // X64, undef it, and call its documented |   20 // X64, undef it, and call its documented | 
|   20 // (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684208.aspx) |   21 // (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684208.aspx) | 
|   21 // implementation directly. |   22 // implementation directly. | 
|   22 #undef MemoryBarrier |   23 #undef MemoryBarrier | 
|   23 #endif |   24 #endif | 
|   24  |   25  | 
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  186   return NoBarrier_CompareAndSwap(ptr, old_value, new_value); |  187   return NoBarrier_CompareAndSwap(ptr, old_value, new_value); | 
|  187 } |  188 } | 
|  188  |  189  | 
|  189  |  190  | 
|  190 #endif  // defined(_WIN64) |  191 #endif  // defined(_WIN64) | 
|  191  |  192  | 
|  192 }  // namespace subtle |  193 }  // namespace subtle | 
|  193 }  // namespace base |  194 }  // namespace base | 
|  194  |  195  | 
|  195 #endif  // BASE_ATOMICOPS_INTERNALS_X86_MSVC_H_ |  196 #endif  // BASE_ATOMICOPS_INTERNALS_X86_MSVC_H_ | 
| OLD | NEW |