From 29c3d90d47da5f297374c31cd2b477ba64878c8e Mon Sep 17 00:00:00 2001 From: Justin Lebar Date: Thu, 30 Jun 2011 00:10:50 -0400 Subject: [PATCH] Bug 668137 - Add vsize to about:memory on Windows. r=njn --- xpcom/base/nsMemoryReporterManager.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp index 88162a03f6d..f8a6541f6b6 100644 --- a/xpcom/base/nsMemoryReporterManager.cpp +++ b/xpcom/base/nsMemoryReporterManager.cpp @@ -132,6 +132,18 @@ static PRInt64 GetResident() #include #include +static PRInt64 GetVsize() +{ + MEMORYSTATUSEX s; + s.dwLength = sizeof(s); + + bool success = GlobalMemoryStatusEx(&s); + if (!success) + return -1; + + return s.ullTotalPhys - s.ullAvailPhys; +} + #if MOZ_WINSDK_TARGETVER >= MOZ_NTDDI_LONGHORN static PRInt64 GetPrivate() { @@ -175,7 +187,7 @@ static PRInt64 GetResident() #endif -#if defined(XP_LINUX) || defined(XP_MACOSX) +#if defined(XP_LINUX) || defined(XP_MACOS) || defined(XP_WIN) NS_MEMORY_REPORTER_IMPLEMENT(Vsize, "vsize", KIND_OTHER, @@ -189,7 +201,9 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize, "This is the vsize figure as reported by 'top' or 'ps'; on Mac the amount " "of memory shared with other processes is very high and so this figure is " "of limited use.") +#endif +#if defined(XP_LINUX) || defined(XP_MACOSX) NS_MEMORY_REPORTER_IMPLEMENT(SoftPageFaults, "soft-page-faults", KIND_OTHER, @@ -400,11 +414,16 @@ nsMemoryReporterManager::Init() REGISTER(HeapUnused); REGISTER(Resident); -#if defined(XP_LINUX) || defined(XP_MACOSX) +#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN) REGISTER(Vsize); +#endif + +#if defined(XP_LINUX) || defined(XP_MACOSX) REGISTER(SoftPageFaults); REGISTER(HardPageFaults); -#elif defined(XP_WIN) && MOZ_WINSDK_TARGETVER >= MOZ_NTDDI_LONGHORN +#endif + +#if defined(XP_WIN) && MOZ_WINSDK_TARGETVER >= MOZ_NTDDI_LONGHORN REGISTER(Private); #endif