Files
clang-p2996/lldb/tools/debugserver/source/MacOSX/MachVMMemory.h
Kate Stone b9c1b51e45 *** This commit represents a complete reformatting of the LLDB source code
*** to conform to clang-format’s LLVM style.  This kind of mass change has
*** two obvious implications:

Firstly, merging this particular commit into a downstream fork may be a huge
effort.  Alternatively, it may be worth merging all changes up to this commit,
performing the same reformatting operation locally, and then discarding the
merge for this particular commit.  The commands used to accomplish this
reformatting were as follows (with current working directory as the root of
the repository):

    find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} +
    find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;

The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.

Secondly, “blame” style tools will generally point to this commit instead of
a meaningful prior commit.  There are alternatives available that will attempt
to look through this change and find the appropriate prior commit.  YMMV.

llvm-svn: 280751
2016-09-06 20:57:50 +00:00

69 lines
2.8 KiB
C++

//===-- MachVMMemory.h ------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// Created by Greg Clayton on 6/26/07.
//
//===----------------------------------------------------------------------===//
#ifndef __MachVMMemory_h__
#define __MachVMMemory_h__
#include "DNBDefs.h"
#include "DNBError.h"
#include <mach/mach.h>
class MachVMMemory {
public:
MachVMMemory();
~MachVMMemory();
nub_size_t Read(task_t task, nub_addr_t address, void *data,
nub_size_t data_count);
nub_size_t Write(task_t task, nub_addr_t address, const void *data,
nub_size_t data_count);
nub_size_t PageSize(task_t task);
nub_bool_t GetMemoryRegionInfo(task_t task, nub_addr_t address,
DNBRegionInfo *region_info);
#if defined(HOST_VM_INFO64_COUNT)
nub_bool_t GetMemoryProfile(DNBProfileDataScanType scanType, task_t task,
struct task_basic_info ti, cpu_type_t cputype,
nub_process_t pid, vm_statistics64_data_t &vminfo,
uint64_t &physical_memory, mach_vm_size_t &rprvt,
mach_vm_size_t &rsize, mach_vm_size_t &vprvt,
mach_vm_size_t &vsize, mach_vm_size_t &dirty_size,
mach_vm_size_t &purgeable,
mach_vm_size_t &anonymous);
#else
nub_bool_t GetMemoryProfile(DNBProfileDataScanType scanType, task_t task,
struct task_basic_info ti, cpu_type_t cputype,
nub_process_t pid, vm_statistics_data_t &vminfo,
uint64_t &physical_memory, mach_vm_size_t &rprvt,
mach_vm_size_t &rsize, mach_vm_size_t &vprvt,
mach_vm_size_t &vsize, mach_vm_size_t &dirty_size,
mach_vm_size_t &purgeable,
mach_vm_size_t &anonymous);
#endif
protected:
nub_size_t MaxBytesLeftInPage(task_t task, nub_addr_t addr, nub_size_t count);
uint64_t GetStolenPages(task_t task);
void GetRegionSizes(task_t task, mach_vm_size_t &rsize,
mach_vm_size_t &dirty_size);
void GetMemorySizes(task_t task, cpu_type_t cputype, nub_process_t pid,
mach_vm_size_t &rprvt, mach_vm_size_t &vprvt);
nub_size_t WriteRegion(task_t task, const nub_addr_t address,
const void *data, const nub_size_t data_count);
vm_size_t m_page_size;
DNBError m_err;
};
#endif // #ifndef __MachVMMemory_h__