| Index: third_party/WebKit/Source/wtf/Alignment.h
|
| diff --git a/third_party/WebKit/Source/wtf/Alignment.h b/third_party/WebKit/Source/wtf/Alignment.h
|
| index f6cc94189ecc4b16d2bbe72d36161f7a73b3e62c..c2ea860c6bc136c02f9b3de5345ae15b0d5ad017 100644
|
| --- a/third_party/WebKit/Source/wtf/Alignment.h
|
| +++ b/third_party/WebKit/Source/wtf/Alignment.h
|
| @@ -30,10 +30,12 @@ namespace WTF {
|
|
|
| #if COMPILER(GCC)
|
| #define WTF_ALIGN_OF(type) __alignof__(type)
|
| -#define WTF_ALIGNED(variable_type, variable, n) variable_type variable __attribute__((__aligned__(n)))
|
| +#define WTF_ALIGNED(variable_type, variable, n) \
|
| + variable_type variable __attribute__((__aligned__(n)))
|
| #elif COMPILER(MSVC)
|
| #define WTF_ALIGN_OF(type) __alignof(type)
|
| -#define WTF_ALIGNED(variable_type, variable, n) __declspec(align(n)) variable_type variable
|
| +#define WTF_ALIGNED(variable_type, variable, n) \
|
| + __declspec(align(n)) variable_type variable
|
| #else
|
| #error WTF_ALIGN macros need alignment control.
|
| #endif
|
| @@ -44,28 +46,49 @@ typedef char __attribute__((__may_alias__)) AlignedBufferChar;
|
| typedef char AlignedBufferChar;
|
| #endif
|
|
|
| -template <size_t size, size_t alignment> struct AlignedBuffer;
|
| -template <size_t size> struct AlignedBuffer<size, 1> { AlignedBufferChar buffer[size]; };
|
| -template <size_t size> struct AlignedBuffer<size, 2> { WTF_ALIGNED(AlignedBufferChar, buffer[size], 2); };
|
| -template <size_t size> struct AlignedBuffer<size, 4> { WTF_ALIGNED(AlignedBufferChar, buffer[size], 4); };
|
| -template <size_t size> struct AlignedBuffer<size, 8> { WTF_ALIGNED(AlignedBufferChar, buffer[size], 8); };
|
| -template <size_t size> struct AlignedBuffer<size, 16> { WTF_ALIGNED(AlignedBufferChar, buffer[size], 16); };
|
| -template <size_t size> struct AlignedBuffer<size, 32> { WTF_ALIGNED(AlignedBufferChar, buffer[size], 32); };
|
| -template <size_t size> struct AlignedBuffer<size, 64> { WTF_ALIGNED(AlignedBufferChar, buffer[size], 64); };
|
| +template <size_t size, size_t alignment>
|
| +struct AlignedBuffer;
|
| +template <size_t size>
|
| +struct AlignedBuffer<size, 1> {
|
| + AlignedBufferChar buffer[size];
|
| +};
|
| +template <size_t size>
|
| +struct AlignedBuffer<size, 2> {
|
| + WTF_ALIGNED(AlignedBufferChar, buffer[size], 2);
|
| +};
|
| +template <size_t size>
|
| +struct AlignedBuffer<size, 4> {
|
| + WTF_ALIGNED(AlignedBufferChar, buffer[size], 4);
|
| +};
|
| +template <size_t size>
|
| +struct AlignedBuffer<size, 8> {
|
| + WTF_ALIGNED(AlignedBufferChar, buffer[size], 8);
|
| +};
|
| +template <size_t size>
|
| +struct AlignedBuffer<size, 16> {
|
| + WTF_ALIGNED(AlignedBufferChar, buffer[size], 16);
|
| +};
|
| +template <size_t size>
|
| +struct AlignedBuffer<size, 32> {
|
| + WTF_ALIGNED(AlignedBufferChar, buffer[size], 32);
|
| +};
|
| +template <size_t size>
|
| +struct AlignedBuffer<size, 64> {
|
| + WTF_ALIGNED(AlignedBufferChar, buffer[size], 64);
|
| +};
|
|
|
| template <size_t size, size_t alignment>
|
| -void swap(AlignedBuffer<size, alignment>& a, AlignedBuffer<size, alignment>& b)
|
| -{
|
| - for (size_t i = 0; i < size; ++i)
|
| - std::swap(a.buffer[i], b.buffer[i]);
|
| +void swap(AlignedBuffer<size, alignment>& a,
|
| + AlignedBuffer<size, alignment>& b) {
|
| + for (size_t i = 0; i < size; ++i)
|
| + std::swap(a.buffer[i], b.buffer[i]);
|
| }
|
|
|
| template <uintptr_t mask>
|
| -inline bool isAlignedTo(const void* pointer)
|
| -{
|
| - return !(reinterpret_cast<uintptr_t>(pointer) & mask);
|
| +inline bool isAlignedTo(const void* pointer) {
|
| + return !(reinterpret_cast<uintptr_t>(pointer) & mask);
|
| }
|
|
|
| -} // namespace WTF
|
| +} // namespace WTF
|
|
|
| -#endif // WTF_Alignment_h
|
| +#endif // WTF_Alignment_h
|
|
|