llvm-mirror/lib/Support/Memory.cpp
Lang Hames d0a14503a8 [Support] Renamed member 'Size' to 'AllocatedSize' in MemoryBlock and OwningMemoryBlock.
Rename member 'Size' to 'AllocatedSize' in order to provide a hint that the
allocated size may be different than the requested size. Comments are added to
clarify this point.  Updated the InMemoryBuffer in FileOutputBuffer.cpp to track
the requested buffer size.

Patch by Machiel van Hooren. Thanks Machiel!

https://reviews.llvm.org/D61599

llvm-svn: 361195
2019-05-20 20:53:05 +00:00

54 lines
1.6 KiB
C++

//===- Memory.cpp - Memory Handling Support ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file defines some helpful functions for allocating memory and dealing
// with memory mapped files
//
//===----------------------------------------------------------------------===//
#include "llvm/Support/Memory.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Valgrind.h"
#ifndef NDEBUG
#include "llvm/Support/raw_ostream.h"
#endif // ifndef NDEBUG
// Include the platform-specific parts of this class.
#ifdef LLVM_ON_UNIX
#include "Unix/Memory.inc"
#endif
#ifdef _WIN32
#include "Windows/Memory.inc"
#endif
#ifndef NDEBUG
namespace llvm {
namespace sys {
raw_ostream &operator<<(raw_ostream &OS, const Memory::ProtectionFlags &PF) {
assert((PF & ~(Memory::MF_READ | Memory::MF_WRITE | Memory::MF_EXEC)) == 0 &&
"Unrecognized flags");
return OS << (PF & Memory::MF_READ ? 'R' : '-')
<< (PF & Memory::MF_WRITE ? 'W' : '-')
<< (PF & Memory::MF_EXEC ? 'X' : '-');
}
raw_ostream &operator<<(raw_ostream &OS, const MemoryBlock &MB) {
return OS << "[ " << MB.base() << " .. "
<< (void *)((char *)MB.base() + MB.allocatedSize()) << " ] ("
<< MB.allocatedSize() << " bytes)";
}
} // end namespace sys
} // end namespace llvm
#endif // ifndef NDEBUG