| Index: base/process/process_metrics.h
|
| diff --git a/base/process/process_metrics.h b/base/process/process_metrics.h
|
| index 1562e7b156af082292b3c8a4753a4b26fb7ecfcd..9c1ea9d9281dea2f780b2d6375806888b2b68a61 100644
|
| --- a/base/process/process_metrics.h
|
| +++ b/base/process/process_metrics.h
|
| @@ -25,6 +25,10 @@
|
| #if defined(OS_MACOSX)
|
| #include <mach/mach.h>
|
| #include "base/process/port_provider_mac.h"
|
| +
|
| +#if !defined(OS_IOS)
|
| +#include <mach/mach_vm.h>
|
| +#endif
|
| #endif
|
|
|
| #if defined(OS_WIN)
|
| @@ -478,6 +482,42 @@ class SystemMetrics {
|
| #endif
|
| };
|
|
|
| +#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| +enum class MachVMRegionResult {
|
| + // There were no more memory regions between |address| and the end of the
|
| + // virtual address space.
|
| + Finished,
|
| +
|
| + // All output parameters are invalid.
|
| + Error,
|
| +
|
| + // All output parameters are filled in.
|
| + Success
|
| +};
|
| +
|
| +// Returns info on the first memory region at or after |address|, including
|
| +// resident memory and share mode. On Success, |size| reflects the size of the
|
| +// memory region.
|
| +// |size| and |info| are output parameters, only valid on Success.
|
| +// |address| is an in-out parameter, than represents both the address to start
|
| +// looking, and the start address of the memory region.
|
| +BASE_EXPORT MachVMRegionResult GetTopInfo(mach_port_t task,
|
| + mach_vm_size_t* size,
|
| + mach_vm_address_t* address,
|
| + vm_region_top_info_data_t* info);
|
| +
|
| +// Returns info on the first memory region at or after |address|, including
|
| +// protection values. On Success, |size| reflects the size of the
|
| +// memory region.
|
| +// Returns info on the first memory region at or after |address|, including
|
| +// resident memory and share mode.
|
| +// |size| and |info| are output parameters, only valid on Success.
|
| +BASE_EXPORT MachVMRegionResult GetBasicInfo(mach_port_t task,
|
| + mach_vm_size_t* size,
|
| + mach_vm_address_t* address,
|
| + vm_region_basic_info_64* info);
|
| +#endif // defined(OS_MACOSX) && !defined(OS_IOS)
|
| +
|
| } // namespace base
|
|
|
| #endif // BASE_PROCESS_PROCESS_METRICS_H_
|
|
|