LLVM API Documentation
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/ADT/OwningPtr.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Config/config.h"
#include "llvm/Support/Errno.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/system_error.h"
#include <cassert>
#include <cerrno>
#include <cstdio>
#include <cstring>
#include <new>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
Go to the source code of this file.
Functions | |
static void | CopyStringRef (char *Memory, StringRef Data) |
void * | operator new (size_t N, const NamedBufferAlloc &Alloc) |
static error_code | getMemoryBufferForStream (int FD, StringRef BufferName, OwningPtr< MemoryBuffer > &result) |
static error_code | getFileAux (const char *Filename, OwningPtr< MemoryBuffer > &result, int64_t FileSize, bool RequiresNullTerminator) |
static error_code | getOpenFileImpl (int FD, const char *Filename, OwningPtr< MemoryBuffer > &Result, uint64_t FileSize, uint64_t MapSize, int64_t Offset, bool RequiresNullTerminator) |
static bool | shouldUseMmap (int FD, size_t FileSize, size_t MapSize, off_t Offset, bool RequiresNullTerminator, int PageSize) |
|
static |
CopyStringRef - Copies contents of a StringRef into a block of memory and null-terminates it.
Definition at line 68 of file MemoryBuffer.cpp.
References llvm::StringRef::data(), llvm::Intrinsic::memcpy, and llvm::StringRef::size().
Referenced by llvm::MemoryBuffer::getNewUninitMemBuffer(), and operator new().
|
static |
Definition at line 261 of file MemoryBuffer.cpp.
References getOpenFileImpl(), and llvm::sys::fs::openFileForRead().
Referenced by llvm::MemoryBuffer::getFile().
|
static |
Definition at line 220 of file MemoryBuffer.cpp.
References llvm::SmallVectorTemplateCommon< T >::end(), llvm::MemoryBuffer::getMemBufferCopy(), llvm::posix_category(), llvm::LibFunc::read, llvm::SmallVectorImpl< char >::reserve(), llvm::OwningPtr< T >::reset(), llvm::SmallVectorImpl< char >::set_size(), llvm::SmallVectorTemplateCommon< T >::size(), and llvm::error_code::success().
Referenced by getOpenFileImpl(), and llvm::MemoryBuffer::getSTDIN().
|
static |
Definition at line 326 of file MemoryBuffer.cpp.
References llvm::sys::fs::file_type::block_file, llvm::sys::process::get_self(), llvm::MemoryBuffer::getBufferStart(), getMemoryBufferForStream(), llvm::MemoryBuffer::getNewUninitMemBuffer(), llvm::make_error_code(), llvm::errc::not_enough_memory, llvm::sys::self_process::page_size(), llvm::posix_category(), llvm::LibFunc::pread, llvm::LibFunc::read, llvm::sys::fs::file_type::regular_file, llvm::OwningPtr< T >::reset(), shouldUseMmap(), llvm::sys::fs::status(), llvm::error_code::success(), llvm::OwningPtr< T >::swap(), and llvm::sys::fs::file_status::type().
Referenced by getFileAux(), llvm::MemoryBuffer::getOpenFile(), and llvm::MemoryBuffer::getOpenFileSlice().
void* operator new | ( | size_t | N, |
const NamedBufferAlloc & | Alloc | ||
) |
Definition at line 80 of file MemoryBuffer.cpp.
References CopyStringRef(), and N.
|
static |
Definition at line 275 of file MemoryBuffer.cpp.
References llvm::sys::fs::status().
Referenced by getOpenFileImpl().