OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <iterator> | 7 #include <iterator> |
8 | 8 |
9 #include "cc/base/contiguous_container.h" | 9 #include "cc/base/contiguous_container.h" |
10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 list2.AllocateAndConstruct<Point2D>(); | 209 list2.AllocateAndConstruct<Point2D>(); |
210 | 210 |
211 // Same object was created in both lists, but their memory usages grew | 211 // Same object was created in both lists, but their memory usages grew |
212 // differently, based on initial_size values lists were created with. | 212 // differently, based on initial_size values lists were created with. |
213 EXPECT_NE(list1.MemoryUsageInBytes(), list2.MemoryUsageInBytes()); | 213 EXPECT_NE(list1.MemoryUsageInBytes(), list2.MemoryUsageInBytes()); |
214 EXPECT_GE(list1.MemoryUsageInBytes(), memory_usage1 + initial_size1); | 214 EXPECT_GE(list1.MemoryUsageInBytes(), memory_usage1 + initial_size1); |
215 EXPECT_GE(list2.MemoryUsageInBytes(), memory_usage2 + initial_size2); | 215 EXPECT_GE(list2.MemoryUsageInBytes(), memory_usage2 + initial_size2); |
216 } | 216 } |
217 | 217 |
218 TEST(ContiguousContainerTest, Alignment) { | 218 TEST(ContiguousContainerTest, Alignment) { |
219 const size_t max_align = ALIGNOF(long double); | 219 const size_t max_align = alignof(long double); |
220 ContiguousContainer<Point2D, max_align> list(kMaxPointSize); | 220 ContiguousContainer<Point2D, max_align> list(kMaxPointSize); |
221 | 221 |
222 list.AllocateAndConstruct<Point2D>(); | 222 list.AllocateAndConstruct<Point2D>(); |
223 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); | 223 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); |
224 list.AllocateAndConstruct<Point2D>(); | 224 list.AllocateAndConstruct<Point2D>(); |
225 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); | 225 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); |
226 list.AllocateAndConstruct<Point3D>(); | 226 list.AllocateAndConstruct<Point3D>(); |
227 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); | 227 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); |
228 list.AllocateAndConstruct<Point3D>(); | 228 list.AllocateAndConstruct<Point3D>(); |
229 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); | 229 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); |
230 list.AllocateAndConstruct<Point2D>(); | 230 list.AllocateAndConstruct<Point2D>(); |
231 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); | 231 EXPECT_EQ(0u, reinterpret_cast<intptr_t>(&list.last()) & (max_align - 1)); |
232 } | 232 } |
233 | 233 |
234 } // namespace | 234 } // namespace |
235 } // namespace cc | 235 } // namespace cc |
OLD | NEW |