| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #include "mojo/edk/system/memory.h" | 5 #include "mojo/edk/system/memory.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| 11 | 11 |
| 12 namespace mojo { | 12 namespace mojo { |
| 13 namespace system { | 13 namespace edk { |
| 14 namespace internal { | 14 namespace internal { |
| 15 | 15 |
| 16 template <size_t alignment> | 16 template <size_t alignment> |
| 17 bool IsAligned(const void* pointer) { | 17 bool IsAligned(const void* pointer) { |
| 18 return reinterpret_cast<uintptr_t>(pointer) % alignment == 0; | 18 return reinterpret_cast<uintptr_t>(pointer) % alignment == 0; |
| 19 } | 19 } |
| 20 | 20 |
| 21 // MSVS (2010, 2013) sometimes (on the stack) aligns, e.g., |int64_t|s (for | 21 // MSVS (2010, 2013) sometimes (on the stack) aligns, e.g., |int64_t|s (for |
| 22 // which |__alignof(int64_t)| is 8) to 4-byte boundaries. http://goo.gl/Y2n56T | 22 // which |__alignof(int64_t)| is 8) to 4-byte boundaries. http://goo.gl/Y2n56T |
| 23 #if defined(COMPILER_MSVC) && defined(ARCH_CPU_32_BITS) | 23 #if defined(COMPILER_MSVC) && defined(ARCH_CPU_32_BITS) |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 CheckUserPointerWithSize<8>(const void* pointer, size_t size) { | 78 CheckUserPointerWithSize<8>(const void* pointer, size_t size) { |
| 79 CHECK(size == 0 || | 79 CHECK(size == 0 || |
| 80 (!!pointer && reinterpret_cast<uintptr_t>(pointer) % 8 == 0)); | 80 (!!pointer && reinterpret_cast<uintptr_t>(pointer) % 8 == 0)); |
| 81 } | 81 } |
| 82 #else | 82 #else |
| 83 template void MOJO_SYSTEM_IMPL_EXPORT | 83 template void MOJO_SYSTEM_IMPL_EXPORT |
| 84 CheckUserPointerWithSize<8>(const void*, size_t); | 84 CheckUserPointerWithSize<8>(const void*, size_t); |
| 85 #endif | 85 #endif |
| 86 | 86 |
| 87 } // namespace internal | 87 } // namespace internal |
| 88 } // namespace system | 88 } // namespace edk |
| 89 } // namespace mojo | 89 } // namespace mojo |
| OLD | NEW |