mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-02 01:20:54 +00:00
7efa77ad7c
Update to nss 3.15.3.1 Update firefox-esr and thunderbird to 24.2.0 Update firefox to 26.0 Update seamonkey to 2.23 - catch up with directory renames since USES=webplugins was introduced; fixes plugins not being automatically enabled after install - linux-firefox and linux-seamonkey can play HTML5 audio [2][3] and measure about:memory usage, again - dom.ipc.plugins.enabled->true no longer crash linux-firefox which makes some flash sites work again; as there's no nspluginwrapper in-between the infamous "youtube issue" never occurs - install DEBUG with symbols [3] and describe the option better [4] - enable dumping about:memory upon kill -65, kill -66 and GC/CC log upon kill -67 to a file under /tmp directory; linux-firefox uses kill -34, kill -35 and kill -36 respectively PR: ports/183861 [1] PR: ports/184006 [2] PR: ports/169896 [3] PR: ports/184285 [3] PR: ports/184286 [4] Security: dd116b19-64b3-11e3-868f-0025905a4771 In collaboration with: Jan Beich <jbeich@tormail.org>
131 lines
3.3 KiB
Plaintext
131 lines
3.3 KiB
Plaintext
diff --git config/system-headers config/system-headers
|
|
index 432cba6..18a9627 100644
|
|
--- config/system-headers
|
|
+++ config/system-headers
|
|
@@ -1157,3 +1157,4 @@ unicode/uenum.h
|
|
unicode/unum.h
|
|
unicode/ustring.h
|
|
#endif
|
|
+libutil.h
|
|
diff --git js/src/config/system-headers js/src/config/system-headers
|
|
index 432cba6..18a9627 100644
|
|
--- js/src/config/system-headers
|
|
+++ js/src/config/system-headers
|
|
@@ -1157,3 +1157,4 @@ unicode/uenum.h
|
|
unicode/unum.h
|
|
unicode/ustring.h
|
|
#endif
|
|
+libutil.h
|
|
diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
|
|
index 9975621..b4b037d 100644
|
|
--- toolkit/library/Makefile.in
|
|
+++ toolkit/library/Makefile.in
|
|
@@ -289,6 +289,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,kvm)
|
|
EXTRA_DSO_LDOPTS += -Wl,--warn-unresolved-symbols
|
|
endif
|
|
|
|
+ifeq ($(OS_ARCH),FreeBSD)
|
|
+OS_LIBS += $(call EXPAND_LIBNAME,util)
|
|
+endif
|
|
+
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
OS_LIBS += $(call EXPAND_LIBNAME,shell32 ole32 version winspool comdlg32 imm32 msimg32 shlwapi psapi ws2_32 dbghelp rasapi32 rasdlg iphlpapi uxtheme setupapi secur32 sensorsapi portabledeviceguids windowscodecs wininet wbemuuid)
|
|
ifdef ACCESSIBILITY
|
|
diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp
|
|
index b8147c8..0ffb34e 100644
|
|
--- xpcom/base/nsMemoryReporterManager.cpp
|
|
+++ xpcom/base/nsMemoryReporterManager.cpp
|
|
@@ -153,6 +153,43 @@ static nsresult GetResidentFast(int64_t
|
|
return GetResident(n);
|
|
}
|
|
|
|
+#ifdef __FreeBSD__
|
|
+#include <libutil.h>
|
|
+
|
|
+static nsresult
|
|
+GetKinfoVmentrySelf(int64_t* prss)
|
|
+{
|
|
+ int cnt;
|
|
+ struct kinfo_vmentry *vmmap, *kve;
|
|
+ if ((vmmap = kinfo_getvmmap(getpid(), &cnt)) == NULL)
|
|
+ return NS_ERROR_FAILURE;
|
|
+
|
|
+ if (prss)
|
|
+ *prss = 0;
|
|
+
|
|
+ for (int i = 0; i < cnt; i++) {
|
|
+ kve = &vmmap[i];
|
|
+ if (prss)
|
|
+ *prss += kve->kve_private_resident;
|
|
+ }
|
|
+
|
|
+ free(vmmap);
|
|
+ return NS_OK;
|
|
+}
|
|
+
|
|
+#define HAVE_PRIVATE_REPORTER
|
|
+static nsresult
|
|
+GetPrivate(int64_t* aN)
|
|
+{
|
|
+ int64_t priv;
|
|
+ nsresult rv = GetKinfoVmentrySelf(&priv);
|
|
+ if (NS_SUCCEEDED(rv))
|
|
+ *aN = priv * getpagesize();
|
|
+
|
|
+ return NS_OK;
|
|
+}
|
|
+#endif // FreeBSD
|
|
+
|
|
#elif defined(SOLARIS)
|
|
|
|
#include <procfs.h>
|
|
@@ -327,6 +364,24 @@ static nsresult GetResidentFast(int64_t
|
|
}
|
|
|
|
#define HAVE_PRIVATE_REPORTER
|
|
+static nsresult
|
|
+GetPrivate(int64_t* aN)
|
|
+{
|
|
+ PROCESS_MEMORY_COUNTERS_EX pmcex;
|
|
+ pmcex.cb = sizeof(PROCESS_MEMORY_COUNTERS_EX);
|
|
+
|
|
+ if (!GetProcessMemoryInfo(
|
|
+ GetCurrentProcess(),
|
|
+ (PPROCESS_MEMORY_COUNTERS) &pmcex, sizeof(pmcex))) {
|
|
+ return NS_ERROR_FAILURE;
|
|
+ }
|
|
+
|
|
+ *aN = pmcex.PrivateUsage;
|
|
+ return NS_OK;
|
|
+}
|
|
+#endif // XP_<PLATFORM>
|
|
+
|
|
+#ifdef HAVE_PRIVATE_REPORTER
|
|
class PrivateReporter MOZ_FINAL : public MemoryReporterBase
|
|
{
|
|
public:
|
|
@@ -339,21 +394,10 @@ public:
|
|
|
|
NS_IMETHOD GetAmount(int64_t *aAmount)
|
|
{
|
|
- PROCESS_MEMORY_COUNTERS_EX pmcex;
|
|
- pmcex.cb = sizeof(PROCESS_MEMORY_COUNTERS_EX);
|
|
-
|
|
- if (!GetProcessMemoryInfo(
|
|
- GetCurrentProcess(),
|
|
- (PPROCESS_MEMORY_COUNTERS) &pmcex, sizeof(pmcex))) {
|
|
- return NS_ERROR_FAILURE;
|
|
- }
|
|
-
|
|
- *aAmount = pmcex.PrivateUsage;
|
|
- return NS_OK;
|
|
+ return GetPrivate(aAmount);
|
|
}
|
|
};
|
|
-
|
|
-#endif // XP_<PLATFORM>
|
|
+#endif
|
|
|
|
#ifdef HAVE_VSIZE_AND_RESIDENT_REPORTERS
|
|
class VsizeReporter MOZ_FINAL : public MemoryReporterBase
|