0832aa2392
Changelog: New Private Browsing with Tracking Protection offers choice of blocking additional trackers New Improved API support for m4v video playback New Firefox 64-bit for Windows is now available via the Firefox download page New Users can choose search suggestions from the Awesome Bar New On-screen keyboard displayed on selecting input field on devices running Windows 8 or greater New Firefox Health Report has switched to use the same data collection mechanism as telemetry Developer Markup view shows indicators for pseudo-classes locked for elements Developer Bind F1 key to open the settings when the toolbox is focused Developer New 'Use in Console' context menu item in Inspector to store selected element in a temporary variable Developer Search button next to overridden CSS properties to find similar properties in the rules view Developer Ability to filter styles from their property names in the rules view Developer Stack traces are now shown for exceptions inside the console Developer Added ability to display server-side logs in the console Developer Ability to choose resolution for the GCLI screenshot command Developer Subresource integrity allows developers to make their sites more secure Developer Network requests in Console now link to Network panel instead of opening in a popup Developer Unprefixed 'hyphens' property is now supported Developer WebIDE now has a sidebar-based UI Developer The 'transform-origin' property is now supported on SVG elements Developer Animation inspector now displays animations in a timeline Developer Single-process mode is no longer supported for NPAPI plugins Fixed Eyedropper tool does not work as expected when page is zoomed Fixed Various security fixes Fixed in Firefox 43 2015-149 Cross-site reading attack through data and view-source URIs 2015-148 Privilege escalation vulnerabilities in WebExtension APIs 2015-147 Integer underflow and buffer overflow processing MP4 metadata in libstagefright 2015-146 Integer overflow in MP4 playback in 64-bit versions 2015-145 Underflow through code inspection 2015-144 Buffer overflows found through code inspection 2015-143 Linux file chooser crashes on malformed images due to flaws in Jasper library 2015-142 DOS due to malformed frames in HTTP/2 2015-141 Hash in data URI is incorrectly parsed 2015-140 Cross-origin information leak through web workers error events 2015-139 Integer overflow allocating extremely large textures 2015-138 Use-after-free in WebRTC when datachannel is used after being destroyed 2015-137 Firefox allows for control characters to be set in cookies 2015-136 Same-origin policy violation using perfomance.getEntries and history navigation 2015-135 Crash with JavaScript variable assignment with unboxed objects 2015-134 Miscellaneous memory safety hazards (rv:43.0 / rv:38.5)
53 lines
1.8 KiB
C
53 lines
1.8 KiB
C
$NetBSD: patch-memory_build_mozjemalloc__compat.c,v 1.4 2015/12/16 09:34:56 ryoon Exp $
|
|
|
|
--- memory/build/mozjemalloc_compat.c.orig 2015-12-04 00:37:04.000000000 +0000
|
|
+++ memory/build/mozjemalloc_compat.c
|
|
@@ -140,6 +140,48 @@ compute_bin_unused_and_bookkeeping(jemal
|
|
stats->bin_unused = bin_unused;
|
|
}
|
|
|
|
+static size_t
|
|
+compute_bin_unused(unsigned int narenas)
|
|
+{
|
|
+ size_t bin_unused = 0;
|
|
+
|
|
+ uint32_t nregs; // number of regions per run in the j-th bin
|
|
+ size_t reg_size; // size of regions served by the j-th bin
|
|
+ size_t curruns; // number of runs belonging to a bin
|
|
+ size_t curregs; // number of allocated regions in a bin
|
|
+
|
|
+ unsigned int nbins; // number of bins per arena
|
|
+ unsigned int i, j;
|
|
+
|
|
+ // curruns and curregs are not defined for uninitialized arenas,
|
|
+ // so we skip them when computing bin_unused. However, initialized
|
|
+ // arenas are not guaranteed to be sequential, so we must test each
|
|
+ // one when iterating below.
|
|
+ bool initialized[100]; // should be narenas, but MSVC doesn't have VLAs
|
|
+ size_t isz = sizeof(initialized) / sizeof(initialized[0]);
|
|
+
|
|
+ je_(mallctl)("arenas.initialized", initialized, &isz, NULL, 0);
|
|
+ CTL_GET("arenas.nbins", nbins);
|
|
+
|
|
+ for (j = 0; j < nbins; j++) {
|
|
+ CTL_I_GET("arenas.bin.0.nregs", nregs, j);
|
|
+ CTL_I_GET("arenas.bin.0.size", reg_size, j);
|
|
+
|
|
+ for (i = 0; i < narenas; i++) {
|
|
+ if (!initialized[i]) {
|
|
+ continue;
|
|
+ }
|
|
+
|
|
+ CTL_IJ_GET("stats.arenas.0.bins.0.curruns", curruns, i, j);
|
|
+ CTL_IJ_GET("stats.arenas.0.bins.0.curregs", curregs, i, j);
|
|
+
|
|
+ bin_unused += (nregs * curruns - curregs) * reg_size;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ return bin_unused;
|
|
+}
|
|
+
|
|
MOZ_JEMALLOC_API void
|
|
jemalloc_stats_impl(jemalloc_stats_t *stats)
|
|
{
|