Skip site navigation (1)Skip section navigation (2)
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>