Date: Sun, 16 Sep 2012 10:25:07 GMT From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1019 - in trunk: mail/thunderbird-esr/files mail/thunderbird/files www/firefox-esr/files www/firefox-nightly/files www/firefox/files www/libxul-esr/files www/libxul/files www/seamonkey/files Message-ID: <201209161025.q8GAP7YW077591@trillian.chruetertee.ch>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Sun Sep 16 10:25:07 2012 New Revision: 1019 Log: add more reporters in about:memory page-faults-hard page-faults-soft resident vsize Added: trunk/mail/thunderbird-esr/files/patch-bug791366 trunk/mail/thunderbird/files/patch-bug791366 trunk/www/firefox-esr/files/patch-bug791366 trunk/www/firefox-nightly/files/patch-bug791366 trunk/www/firefox/files/patch-bug791366 trunk/www/libxul-esr/files/patch-bug791366 trunk/www/libxul/files/patch-bug791366 trunk/www/seamonkey/files/patch-bug791366 Added: trunk/mail/thunderbird-esr/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/mail/thunderbird-esr/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,124 @@ +diff --git mozilla/xpcom/base/nsMemoryReporterManager.cpp mozilla/xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- mozilla/xpcom/base/nsMemoryReporterManager.cpp ++++ mozilla/xpcom/base/nsMemoryReporterManager.cpp +@@ -64,7 +64,7 @@ extern void jemalloc_stats(jemalloc_stat + # endif // XP_LINUX + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -122,6 +122,78 @@ static PRInt64 GetResident() + return GetProcSelfStatmField(1); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++static PRInt64 GetVsize() ++{ ++ KINFO_PROC proc; ++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc))) ++ return KP_SIZE(proc); ++ ++ return -1; ++} ++ ++static PRInt64 GetResident() ++{ ++ KINFO_PROC proc; ++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc))) ++ return KP_RSS(proc); ++ ++ return -1; ++} ++ + #elif defined(XP_MACOSX) + + #include <mach/mach_init.h> +@@ -224,7 +297,7 @@ static PRInt64 GetResident() + + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN) ++#if defined(XP_UNIX) || defined(XP_WIN) + NS_MEMORY_REPORTER_IMPLEMENT(Vsize, + "vsize", + KIND_OTHER, +@@ -239,7 +312,7 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize, + "measure of the memory resources used by the process.") + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#if defined(XP_UNIX) + NS_MEMORY_REPORTER_IMPLEMENT(PageFaultsSoft, + "page-faults-soft", + KIND_OTHER, +@@ -457,11 +530,11 @@ nsMemoryReporterManager::Init() + REGISTER(HeapUnallocated); + REGISTER(Resident); + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN) ++#if defined(XP_UNIX) || defined(XP_WIN) + REGISTER(Vsize); + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#if defined(XP_UNIX) + REGISTER(PageFaultsSoft); + REGISTER(PageFaultsHard); + #endif Added: trunk/mail/thunderbird/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/mail/thunderbird/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,95 @@ +diff --git mozilla/xpcom/base/nsMemoryReporterManager.cpp mozilla/xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- mozilla/xpcom/base/nsMemoryReporterManager.cpp ++++ mozilla/xpcom/base/nsMemoryReporterManager.cpp +@@ -32,7 +32,7 @@ using namespace mozilla; + # include "jemalloc.h" + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n) + return GetProcSelfStatmField(1, n); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1 ++static nsresult GetVsize(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_SIZE(proc); ++ ++ return rv; ++} ++ ++static nsresult GetResident(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_RSS(proc); ++ ++ return rv; ++} ++ + #elif defined(SOLARIS) + + #include <procfs.h> Added: trunk/www/firefox-esr/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-esr/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,124 @@ +diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- xpcom/base/nsMemoryReporterManager.cpp ++++ xpcom/base/nsMemoryReporterManager.cpp +@@ -64,7 +64,7 @@ extern void jemalloc_stats(jemalloc_stat + # endif // XP_LINUX + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -122,6 +122,78 @@ static PRInt64 GetResident() + return GetProcSelfStatmField(1); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++static PRInt64 GetVsize() ++{ ++ KINFO_PROC proc; ++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc))) ++ return KP_SIZE(proc); ++ ++ return -1; ++} ++ ++static PRInt64 GetResident() ++{ ++ KINFO_PROC proc; ++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc))) ++ return KP_RSS(proc); ++ ++ return -1; ++} ++ + #elif defined(XP_MACOSX) + + #include <mach/mach_init.h> +@@ -224,7 +297,7 @@ static PRInt64 GetResident() + + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN) ++#if defined(XP_UNIX) || defined(XP_WIN) + NS_MEMORY_REPORTER_IMPLEMENT(Vsize, + "vsize", + KIND_OTHER, +@@ -239,7 +312,7 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize, + "measure of the memory resources used by the process.") + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#if defined(XP_UNIX) + NS_MEMORY_REPORTER_IMPLEMENT(PageFaultsSoft, + "page-faults-soft", + KIND_OTHER, +@@ -457,11 +530,11 @@ nsMemoryReporterManager::Init() + REGISTER(HeapUnallocated); + REGISTER(Resident); + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN) ++#if defined(XP_UNIX) || defined(XP_WIN) + REGISTER(Vsize); + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#if defined(XP_UNIX) + REGISTER(PageFaultsSoft); + REGISTER(PageFaultsHard); + #endif Added: trunk/www/firefox-nightly/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-nightly/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,95 @@ +diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- xpcom/base/nsMemoryReporterManager.cpp ++++ xpcom/base/nsMemoryReporterManager.cpp +@@ -32,7 +32,7 @@ using namespace mozilla; + # include "jemalloc.h" + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -95,6 +95,81 @@ static nsresult GetResident(int64_t *n) + return GetProcSelfStatmField(1, n); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1 ++static nsresult GetVsize(int64_t *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_SIZE(proc); ++ ++ return rv; ++} ++ ++static nsresult GetResident(int64_t *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_RSS(proc); ++ ++ return rv; ++} ++ + #elif defined(SOLARIS) + + #include <procfs.h> Added: trunk/www/firefox/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,95 @@ +diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- xpcom/base/nsMemoryReporterManager.cpp ++++ xpcom/base/nsMemoryReporterManager.cpp +@@ -32,7 +32,7 @@ using namespace mozilla; + # include "jemalloc.h" + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n) + return GetProcSelfStatmField(1, n); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1 ++static nsresult GetVsize(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_SIZE(proc); ++ ++ return rv; ++} ++ ++static nsresult GetResident(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_RSS(proc); ++ ++ return rv; ++} ++ + #elif defined(SOLARIS) + + #include <procfs.h> Added: trunk/www/libxul-esr/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/libxul-esr/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,124 @@ +diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- xpcom/base/nsMemoryReporterManager.cpp ++++ xpcom/base/nsMemoryReporterManager.cpp +@@ -64,7 +64,7 @@ extern void jemalloc_stats(jemalloc_stat + # endif // XP_LINUX + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -122,6 +122,78 @@ static PRInt64 GetResident() + return GetProcSelfStatmField(1); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++static PRInt64 GetVsize() ++{ ++ KINFO_PROC proc; ++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc))) ++ return KP_SIZE(proc); ++ ++ return -1; ++} ++ ++static PRInt64 GetResident() ++{ ++ KINFO_PROC proc; ++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc))) ++ return KP_RSS(proc); ++ ++ return -1; ++} ++ + #elif defined(XP_MACOSX) + + #include <mach/mach_init.h> +@@ -224,7 +297,7 @@ static PRInt64 GetResident() + + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN) ++#if defined(XP_UNIX) || defined(XP_WIN) + NS_MEMORY_REPORTER_IMPLEMENT(Vsize, + "vsize", + KIND_OTHER, +@@ -239,7 +312,7 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize, + "measure of the memory resources used by the process.") + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#if defined(XP_UNIX) + NS_MEMORY_REPORTER_IMPLEMENT(PageFaultsSoft, + "page-faults-soft", + KIND_OTHER, +@@ -457,11 +530,11 @@ nsMemoryReporterManager::Init() + REGISTER(HeapUnallocated); + REGISTER(Resident); + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN) ++#if defined(XP_UNIX) || defined(XP_WIN) + REGISTER(Vsize); + #endif + +-#if defined(XP_LINUX) || defined(XP_MACOSX) ++#if defined(XP_UNIX) + REGISTER(PageFaultsSoft); + REGISTER(PageFaultsHard); + #endif Added: trunk/www/libxul/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/libxul/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,95 @@ +diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- xpcom/base/nsMemoryReporterManager.cpp ++++ xpcom/base/nsMemoryReporterManager.cpp +@@ -32,7 +32,7 @@ using namespace mozilla; + # include "jemalloc.h" + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n) + return GetProcSelfStatmField(1, n); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1 ++static nsresult GetVsize(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_SIZE(proc); ++ ++ return rv; ++} ++ ++static nsresult GetResident(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_RSS(proc); ++ ++ return rv; ++} ++ + #elif defined(SOLARIS) + + #include <procfs.h> Added: trunk/www/seamonkey/files/patch-bug791366 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/seamonkey/files/patch-bug791366 Sun Sep 16 10:25:07 2012 (r1019) @@ -0,0 +1,95 @@ +diff --git mozilla/xpcom/base/nsMemoryReporterManager.cpp mozilla/xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- mozilla/xpcom/base/nsMemoryReporterManager.cpp ++++ mozilla/xpcom/base/nsMemoryReporterManager.cpp +@@ -32,7 +32,7 @@ using namespace mozilla; + # include "jemalloc.h" + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n) + return GetProcSelfStatmField(1, n); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1 ++static nsresult GetVsize(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_SIZE(proc); ++ ++ return rv; ++} ++ ++static nsresult GetResident(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_RSS(proc); ++ ++ return rv; ++} ++ + #elif defined(SOLARIS) + + #include <procfs.h>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209161025.q8GAP7YW077591>