Index: test/cctest/heap/test-heap.cc |
diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc |
index dab10aace812dd5340ca9784a9536154edff857e..42fef4775aa1da2b12703b9c0d4cdd096bcdfdea 100644 |
--- a/test/cctest/heap/test-heap.cc |
+++ b/test/cctest/heap/test-heap.cc |
@@ -1869,16 +1869,12 @@ HEAP_TEST(TestSizeOfObjects) { |
TEST(TestAlignmentCalculations) { |
// Maximum fill amounts are consistent. |
int maximum_double_misalignment = kDoubleSize - kPointerSize; |
- int maximum_simd128_misalignment = kSimd128Size - kPointerSize; |
int max_word_fill = Heap::GetMaximumFillToAlign(kWordAligned); |
CHECK_EQ(0, max_word_fill); |
int max_double_fill = Heap::GetMaximumFillToAlign(kDoubleAligned); |
CHECK_EQ(maximum_double_misalignment, max_double_fill); |
int max_double_unaligned_fill = Heap::GetMaximumFillToAlign(kDoubleUnaligned); |
CHECK_EQ(maximum_double_misalignment, max_double_unaligned_fill); |
- int max_simd128_unaligned_fill = |
- Heap::GetMaximumFillToAlign(kSimd128Unaligned); |
- CHECK_EQ(maximum_simd128_misalignment, max_simd128_unaligned_fill); |
Address base = static_cast<Address>(NULL); |
int fill = 0; |
@@ -1900,16 +1896,6 @@ TEST(TestAlignmentCalculations) { |
CHECK_EQ(maximum_double_misalignment, fill); |
fill = Heap::GetFillToAlign(base + kPointerSize, kDoubleUnaligned); |
CHECK_EQ(0, fill); |
- |
- // 128 bit SIMD types have 2 or 4 possible alignments, depending on platform. |
- fill = Heap::GetFillToAlign(base, kSimd128Unaligned); |
- CHECK_EQ((3 * kPointerSize) & kSimd128AlignmentMask, fill); |
- fill = Heap::GetFillToAlign(base + kPointerSize, kSimd128Unaligned); |
- CHECK_EQ((2 * kPointerSize) & kSimd128AlignmentMask, fill); |
- fill = Heap::GetFillToAlign(base + 2 * kPointerSize, kSimd128Unaligned); |
- CHECK_EQ(kPointerSize, fill); |
- fill = Heap::GetFillToAlign(base + 3 * kPointerSize, kSimd128Unaligned); |
- CHECK_EQ(0, fill); |
} |
@@ -1977,42 +1963,6 @@ TEST(TestAlignedAllocation) { |
filler->Size() == kPointerSize); |
CHECK_EQ(kPointerSize + double_misalignment, *top_addr - start); |
} |
- |
- // Now test SIMD alignment. There are 2 or 4 possible alignments, depending |
- // on platform. |
- start = AlignNewSpace(kSimd128Unaligned, 0); |
- obj = NewSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There is no filler. |
- CHECK_EQ(kPointerSize, *top_addr - start); |
- start = AlignNewSpace(kSimd128Unaligned, kPointerSize); |
- obj = NewSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There is a filler object before the object. |
- filler = HeapObject::FromAddress(start); |
- CHECK(obj != filler && filler->IsFiller() && |
- filler->Size() == kSimd128Size - kPointerSize); |
- CHECK_EQ(kPointerSize + kSimd128Size - kPointerSize, *top_addr - start); |
- |
- if (double_misalignment) { |
- // Test the 2 other alignments possible on 32 bit platforms. |
- start = AlignNewSpace(kSimd128Unaligned, 2 * kPointerSize); |
- obj = NewSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There is a filler object before the object. |
- filler = HeapObject::FromAddress(start); |
- CHECK(obj != filler && filler->IsFiller() && |
- filler->Size() == 2 * kPointerSize); |
- CHECK_EQ(kPointerSize + 2 * kPointerSize, *top_addr - start); |
- start = AlignNewSpace(kSimd128Unaligned, 3 * kPointerSize); |
- obj = NewSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There is a filler object before the object. |
- filler = HeapObject::FromAddress(start); |
- CHECK(obj != filler && filler->IsFiller() && |
- filler->Size() == kPointerSize); |
- CHECK_EQ(kPointerSize + kPointerSize, *top_addr - start); |
- } |
} |
@@ -2061,83 +2011,41 @@ TEST(TestAlignedOverAllocation) { |
const intptr_t double_misalignment = kDoubleSize - kPointerSize; |
Address start; |
HeapObject* obj; |
- HeapObject* filler1; |
- HeapObject* filler2; |
+ HeapObject* filler; |
if (double_misalignment) { |
start = AlignOldSpace(kDoubleAligned, 0); |
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleAligned); |
// The object is aligned, and a filler object is created after. |
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment)); |
- filler1 = HeapObject::FromAddress(start + kPointerSize); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == kPointerSize); |
+ filler = HeapObject::FromAddress(start + kPointerSize); |
+ CHECK(obj != filler && filler->IsFiller() && |
+ filler->Size() == kPointerSize); |
// Try the opposite alignment case. |
start = AlignOldSpace(kDoubleAligned, kPointerSize); |
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleAligned); |
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment)); |
- filler1 = HeapObject::FromAddress(start); |
- CHECK(obj != filler1); |
- CHECK(filler1->IsFiller()); |
- CHECK(filler1->Size() == kPointerSize); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == kPointerSize); |
+ filler = HeapObject::FromAddress(start); |
+ CHECK(obj != filler); |
+ CHECK(filler->IsFiller()); |
+ CHECK(filler->Size() == kPointerSize); |
+ CHECK(obj != filler && filler->IsFiller() && |
+ filler->Size() == kPointerSize); |
// Similarly for kDoubleUnaligned. |
start = AlignOldSpace(kDoubleUnaligned, 0); |
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleUnaligned); |
// The object is aligned, and a filler object is created after. |
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment, kPointerSize)); |
- filler1 = HeapObject::FromAddress(start + kPointerSize); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == kPointerSize); |
+ filler = HeapObject::FromAddress(start + kPointerSize); |
+ CHECK(obj != filler && filler->IsFiller() && |
+ filler->Size() == kPointerSize); |
// Try the opposite alignment case. |
start = AlignOldSpace(kDoubleUnaligned, kPointerSize); |
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleUnaligned); |
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment, kPointerSize)); |
- filler1 = HeapObject::FromAddress(start); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == kPointerSize); |
- } |
- |
- // Now test SIMD alignment. There are 2 or 4 possible alignments, depending |
- // on platform. |
- start = AlignOldSpace(kSimd128Unaligned, 0); |
- obj = OldSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There is a filler object after the object. |
- filler1 = HeapObject::FromAddress(start + kPointerSize); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == kSimd128Size - kPointerSize); |
- start = AlignOldSpace(kSimd128Unaligned, kPointerSize); |
- obj = OldSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There is a filler object before the object. |
- filler1 = HeapObject::FromAddress(start); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == kSimd128Size - kPointerSize); |
- |
- if (double_misalignment) { |
- // Test the 2 other alignments possible on 32 bit platforms. |
- start = AlignOldSpace(kSimd128Unaligned, 2 * kPointerSize); |
- obj = OldSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There are filler objects before and after the object. |
- filler1 = HeapObject::FromAddress(start); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == 2 * kPointerSize); |
- filler2 = HeapObject::FromAddress(start + 3 * kPointerSize); |
- CHECK(obj != filler2 && filler2->IsFiller() && |
- filler2->Size() == kPointerSize); |
- start = AlignOldSpace(kSimd128Unaligned, 3 * kPointerSize); |
- obj = OldSpaceAllocateAligned(kPointerSize, kSimd128Unaligned); |
- CHECK(IsAddressAligned(obj->address(), kSimd128Alignment, kPointerSize)); |
- // There are filler objects before and after the object. |
- filler1 = HeapObject::FromAddress(start); |
- CHECK(obj != filler1 && filler1->IsFiller() && |
- filler1->Size() == kPointerSize); |
- filler2 = HeapObject::FromAddress(start + 2 * kPointerSize); |
- CHECK(obj != filler2 && filler2->IsFiller() && |
- filler2->Size() == 2 * kPointerSize); |
+ filler = HeapObject::FromAddress(start); |
+ CHECK(obj != filler && filler->IsFiller() && |
+ filler->Size() == kPointerSize); |
} |
} |