diff options
Diffstat (limited to 'www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc')
-rw-r--r-- | www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc index 1ea42a3de872..c3400cbc3097 100644 --- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc +++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc @@ -1,6 +1,6 @@ ---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2019-03-21 01:36:59.000000000 +0100 -+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc 2019-03-24 18:58:48.459358000 +0100 -@@ -17,8 +17,10 @@ +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2019-04-30 22:22:56 UTC ++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc +@@ -19,8 +19,10 @@ #include "build/build_config.h" #include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h" @@ -11,23 +11,23 @@ namespace memory_instrumentation { -@@ -67,6 +69,7 @@ +@@ -69,6 +71,7 @@ struct ModuleData { ModuleData GetMainModuleData() { ModuleData module_data; +#if !defined(OS_BSD) Dl_info dl_info; if (dladdr(&__ehdr_start, &dl_info)) { - base::Optional<std::string> build_id = -@@ -76,6 +79,7 @@ - module_data.build_id = *build_id; + base::debug::ElfBuildIdBuffer build_id; +@@ -79,6 +82,7 @@ ModuleData GetMainModuleData() { + module_data.build_id = std::string(build_id, build_id_length); } } +#endif return module_data; } -@@ -123,14 +127,14 @@ +@@ -126,14 +130,14 @@ bool ParseSmapsHeader(const char* header_line, // Build ID is needed to symbolize heap profiles, and is generated only on // official builds. Build ID is only added for the current library (chrome) // since it is racy to read other libraries which can be unmapped any time. @@ -44,18 +44,19 @@ return res; } -@@ -217,6 +221,9 @@ +@@ -220,6 +224,10 @@ void OSMetrics::SetProcSmapsForTesting(FILE* f) { // static bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, mojom::RawOSMemDump* dump) { +#if defined(OS_BSD) ++ NOTIMPLEMENTED(); + return false; +#else base::ScopedFD autoclose = OpenStatm(pid); int statm_fd = autoclose.get(); -@@ -242,10 +249,12 @@ - dump->resident_set_kb = process_metrics->GetResidentSetSize() / 1024; +@@ -267,10 +275,15 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, + #endif // defined(OS_ANDROID) return true; +#endif @@ -64,16 +65,35 @@ // static std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMaps(base::ProcessId pid) { +#if defined(OS_BSD) ++ NOTIMPLEMENTED(); ++ return std::vector<VmRegionPtr>(); ++#else std::vector<VmRegionPtr> maps; uint32_t res = 0; if (g_proc_smaps_for_testing) { -@@ -263,6 +272,10 @@ +@@ -288,6 +301,7 @@ std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMa return std::vector<VmRegionPtr>(); return maps; -+#else ++#endif + } + + // static +@@ -295,6 +309,10 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics:: + const size_t start_address, + const size_t end_address, + std::vector<uint8_t>* accessed_pages_bitmap) { ++#if defined(OS_BSD) + NOTIMPLEMENTED(); -+ return std::vector<VmRegionPtr>(); ++ return OSMetrics::MappedAndResidentPagesDumpState::kFailure; ++#else + const char* kPagemap = "/proc/self/pagemap"; + + base::ScopedFILE pagemap_file(fopen(kPagemap, "r")); +@@ -336,6 +354,7 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics:: + } + } + return OSMetrics::MappedAndResidentPagesDumpState::kSuccess; +#endif } |