Commit 40be7df6 authored by Clemens Hammacher's avatar Clemens Hammacher Committed by Commit Bot

Remove redundant IsAddressAligned function

Since {Address} is just {uintptr_t}, we can just use the standard
{IsAligned} function.

R=mlippautz@chromium.org

Bug: v8:8238
Change-Id: I260591e88b50855cf327096a07b2c18f0c1e4508
Reviewed-on: https://chromium-review.googlesource.com/c/1280204Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56631}
parent 6fdf6e22
...@@ -244,7 +244,7 @@ bool VirtualMemory::SetPermissions(Address address, size_t size, ...@@ -244,7 +244,7 @@ bool VirtualMemory::SetPermissions(Address address, size_t size,
size_t VirtualMemory::Release(Address free_start) { size_t VirtualMemory::Release(Address free_start) {
DCHECK(IsReserved()); DCHECK(IsReserved());
DCHECK(IsAddressAligned(free_start, page_allocator_->CommitPageSize())); DCHECK(IsAligned(free_start, page_allocator_->CommitPageSize()));
// Notice: Order is important here. The VirtualMemory object might live // Notice: Order is important here. The VirtualMemory object might live
// inside the allocated region. // inside the allocated region.
......
...@@ -481,7 +481,7 @@ void MemoryChunk::SetReadAndExecutable() { ...@@ -481,7 +481,7 @@ void MemoryChunk::SetReadAndExecutable() {
Address protect_start = Address protect_start =
address() + MemoryAllocator::CodePageAreaStartOffset(); address() + MemoryAllocator::CodePageAreaStartOffset();
size_t page_size = MemoryAllocator::GetCommitPageSize(); size_t page_size = MemoryAllocator::GetCommitPageSize();
DCHECK(IsAddressAligned(protect_start, page_size)); DCHECK(IsAligned(protect_start, page_size));
size_t protect_size = RoundUp(area_size(), page_size); size_t protect_size = RoundUp(area_size(), page_size);
CHECK(reservation_.SetPermissions(protect_start, protect_size, CHECK(reservation_.SetPermissions(protect_start, protect_size,
PageAllocator::kReadExecute)); PageAllocator::kReadExecute));
...@@ -500,7 +500,7 @@ void MemoryChunk::SetReadAndWritable() { ...@@ -500,7 +500,7 @@ void MemoryChunk::SetReadAndWritable() {
Address unprotect_start = Address unprotect_start =
address() + MemoryAllocator::CodePageAreaStartOffset(); address() + MemoryAllocator::CodePageAreaStartOffset();
size_t page_size = MemoryAllocator::GetCommitPageSize(); size_t page_size = MemoryAllocator::GetCommitPageSize();
DCHECK(IsAddressAligned(unprotect_start, page_size)); DCHECK(IsAligned(unprotect_start, page_size));
size_t unprotect_size = RoundUp(area_size(), page_size); size_t unprotect_size = RoundUp(area_size(), page_size);
CHECK(reservation_.SetPermissions(unprotect_start, unprotect_size, CHECK(reservation_.SetPermissions(unprotect_start, unprotect_size,
PageAllocator::kReadWrite)); PageAllocator::kReadWrite));
...@@ -571,7 +571,7 @@ MemoryChunk* MemoryChunk::Initialize(Heap* heap, Address base, size_t size, ...@@ -571,7 +571,7 @@ MemoryChunk* MemoryChunk::Initialize(Heap* heap, Address base, size_t size,
heap->code_space_memory_modification_scope_depth(); heap->code_space_memory_modification_scope_depth();
} else { } else {
size_t page_size = MemoryAllocator::GetCommitPageSize(); size_t page_size = MemoryAllocator::GetCommitPageSize();
DCHECK(IsAddressAligned(area_start, page_size)); DCHECK(IsAligned(area_start, page_size));
size_t area_size = RoundUp(area_end - area_start, page_size); size_t area_size = RoundUp(area_end - area_start, page_size);
CHECK(reservation.SetPermissions(area_start, area_size, CHECK(reservation.SetPermissions(area_start, area_size,
PageAllocator::kReadWriteExecute)); PageAllocator::kReadWriteExecute));
...@@ -1134,7 +1134,7 @@ bool MemoryAllocator::CommitExecutableMemory(VirtualMemory* vm, Address start, ...@@ -1134,7 +1134,7 @@ bool MemoryAllocator::CommitExecutableMemory(VirtualMemory* vm, Address start,
size_t reserved_size) { size_t reserved_size) {
const size_t page_size = GetCommitPageSize(); const size_t page_size = GetCommitPageSize();
// All addresses and sizes must be aligned to the commit page size. // All addresses and sizes must be aligned to the commit page size.
DCHECK(IsAddressAligned(start, page_size)); DCHECK(IsAligned(start, page_size));
DCHECK_EQ(0, commit_size % page_size); DCHECK_EQ(0, commit_size % page_size);
DCHECK_EQ(0, reserved_size % page_size); DCHECK_EQ(0, reserved_size % page_size);
const size_t guard_size = CodePageGuardSize(); const size_t guard_size = CodePageGuardSize();
......
...@@ -167,14 +167,6 @@ inline bool IsAligned(T value, U alignment) { ...@@ -167,14 +167,6 @@ inline bool IsAligned(T value, U alignment) {
return (value & (alignment - 1)) == 0; return (value & (alignment - 1)) == 0;
} }
// Returns true if {addr + offset} is aligned.
inline bool IsAddressAligned(Address addr,
intptr_t alignment,
int offset = 0) {
return IsAligned(addr + offset, alignment);
}
// Returns the maximum of the two parameters. // Returns the maximum of the two parameters.
template <typename T> template <typename T>
constexpr T Max(T a, T b) { constexpr T Max(T a, T b) {
......
...@@ -71,7 +71,7 @@ void* Zone::New(size_t size) { ...@@ -71,7 +71,7 @@ void* Zone::New(size_t size) {
kASanRedzoneBytes); kASanRedzoneBytes);
// Check that the result has the proper alignment and return it. // Check that the result has the proper alignment and return it.
DCHECK(IsAddressAligned(result, kAlignmentInBytes, 0)); DCHECK(IsAligned(result, kAlignmentInBytes));
allocation_size_ += size; allocation_size_ += size;
return reinterpret_cast<void*>(result); return reinterpret_cast<void*>(result);
} }
......
...@@ -1692,7 +1692,7 @@ TEST(TestAlignedAllocation) { ...@@ -1692,7 +1692,7 @@ TEST(TestAlignedAllocation) {
// aligned address. // aligned address.
start = AlignNewSpace(kDoubleAligned, 0); start = AlignNewSpace(kDoubleAligned, 0);
obj = NewSpaceAllocateAligned(kPointerSize, kDoubleAligned); obj = NewSpaceAllocateAligned(kPointerSize, kDoubleAligned);
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment)); CHECK(IsAligned(obj->address(), kDoubleAlignment));
// There is no filler. // There is no filler.
CHECK_EQ(kPointerSize, *top_addr - start); CHECK_EQ(kPointerSize, *top_addr - start);
...@@ -1700,7 +1700,7 @@ TEST(TestAlignedAllocation) { ...@@ -1700,7 +1700,7 @@ TEST(TestAlignedAllocation) {
// unaligned address. // unaligned address.
start = AlignNewSpace(kDoubleAligned, kPointerSize); start = AlignNewSpace(kDoubleAligned, kPointerSize);
obj = NewSpaceAllocateAligned(kPointerSize, kDoubleAligned); obj = NewSpaceAllocateAligned(kPointerSize, kDoubleAligned);
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment)); CHECK(IsAligned(obj->address(), kDoubleAlignment));
// There is a filler object before the object. // There is a filler object before the object.
filler = HeapObject::FromAddress(start); filler = HeapObject::FromAddress(start);
CHECK(obj != filler && filler->IsFiller() && CHECK(obj != filler && filler->IsFiller() &&
...@@ -1710,11 +1710,11 @@ TEST(TestAlignedAllocation) { ...@@ -1710,11 +1710,11 @@ TEST(TestAlignedAllocation) {
// Similarly for kDoubleUnaligned. // Similarly for kDoubleUnaligned.
start = AlignNewSpace(kDoubleUnaligned, 0); start = AlignNewSpace(kDoubleUnaligned, 0);
obj = NewSpaceAllocateAligned(kPointerSize, kDoubleUnaligned); obj = NewSpaceAllocateAligned(kPointerSize, kDoubleUnaligned);
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment, kPointerSize)); CHECK(IsAligned(obj->address() + kPointerSize, kDoubleAlignment));
CHECK_EQ(kPointerSize, *top_addr - start); CHECK_EQ(kPointerSize, *top_addr - start);
start = AlignNewSpace(kDoubleUnaligned, kPointerSize); start = AlignNewSpace(kDoubleUnaligned, kPointerSize);
obj = NewSpaceAllocateAligned(kPointerSize, kDoubleUnaligned); obj = NewSpaceAllocateAligned(kPointerSize, kDoubleUnaligned);
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment, kPointerSize)); CHECK(IsAligned(obj->address() + kPointerSize, kDoubleAlignment));
// There is a filler object before the object. // There is a filler object before the object.
filler = HeapObject::FromAddress(start); filler = HeapObject::FromAddress(start);
CHECK(obj != filler && filler->IsFiller() && CHECK(obj != filler && filler->IsFiller() &&
...@@ -1774,11 +1774,11 @@ TEST(TestAlignedOverAllocation) { ...@@ -1774,11 +1774,11 @@ TEST(TestAlignedOverAllocation) {
start = AlignOldSpace(kDoubleAligned, 0); start = AlignOldSpace(kDoubleAligned, 0);
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleAligned); obj = OldSpaceAllocateAligned(kPointerSize, kDoubleAligned);
// The object is aligned. // The object is aligned.
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment)); CHECK(IsAligned(obj->address(), kDoubleAlignment));
// Try the opposite alignment case. // Try the opposite alignment case.
start = AlignOldSpace(kDoubleAligned, kPointerSize); start = AlignOldSpace(kDoubleAligned, kPointerSize);
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleAligned); obj = OldSpaceAllocateAligned(kPointerSize, kDoubleAligned);
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment)); CHECK(IsAligned(obj->address(), kDoubleAlignment));
filler = HeapObject::FromAddress(start); filler = HeapObject::FromAddress(start);
CHECK(obj != filler); CHECK(obj != filler);
CHECK(filler->IsFiller()); CHECK(filler->IsFiller());
...@@ -1790,11 +1790,11 @@ TEST(TestAlignedOverAllocation) { ...@@ -1790,11 +1790,11 @@ TEST(TestAlignedOverAllocation) {
start = AlignOldSpace(kDoubleUnaligned, 0); start = AlignOldSpace(kDoubleUnaligned, 0);
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleUnaligned); obj = OldSpaceAllocateAligned(kPointerSize, kDoubleUnaligned);
// The object is aligned. // The object is aligned.
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment, kPointerSize)); CHECK(IsAligned(obj->address() + kPointerSize, kDoubleAlignment));
// Try the opposite alignment case. // Try the opposite alignment case.
start = AlignOldSpace(kDoubleUnaligned, kPointerSize); start = AlignOldSpace(kDoubleUnaligned, kPointerSize);
obj = OldSpaceAllocateAligned(kPointerSize, kDoubleUnaligned); obj = OldSpaceAllocateAligned(kPointerSize, kDoubleUnaligned);
CHECK(IsAddressAligned(obj->address(), kDoubleAlignment, kPointerSize)); CHECK(IsAligned(obj->address() + kPointerSize, kDoubleAlignment));
filler = HeapObject::FromAddress(start); filler = HeapObject::FromAddress(start);
CHECK(obj != filler && filler->IsFiller() && CHECK(obj != filler && filler->IsFiller() &&
filler->Size() == kPointerSize); filler->Size() == kPointerSize);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment