Skip to content

Instantly share code, notes, and snippets.

diff --git a/ipc/glue/GeckoChildProcessHost.h b/ipc/glue/GeckoChildProcessHost.h
index 460834d9336a..efe2ea11b624 100644
--- a/ipc/glue/GeckoChildProcessHost.h
+++ b/ipc/glue/GeckoChildProcessHost.h
@@ -251,24 +251,26 @@ class GeckoChildProcessHost : public ChildProcessHost,
// In between launching the subprocess and handing off its IPC
// channel, there's a small window of time in which *we* might still
// be the channel listener, and receive messages. That's bad
// because we have no idea what to do with those messages. So queue
// them here until we hand off the eventual listener.
diff -r -U8 apple/MacOSX10.11.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioEngine.h MacOSX10.11.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioEngine.h
--- apple/MacOSX10.11.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioEngine.h 2015-10-29 14:06:32.000000000 -0700
+++ MacOSX10.11.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioEngine.h 2015-11-16 01:13:53.000000000 -0800
@@ -279,17 +279,17 @@
this property is first accessed. To receive input, connect another node from the output of
the input node, or create a recording tap on it.
The AVAudioSesssion category and/or availability of hardware determine whether an app can
perform input. Check for non-nil input node and its input format (i.e. hardware format) for non-zero
sample rate and channel count to see if input is enabled.
Methodology:
Tested mozilla-central with an --enable-optimize --disable-debug --disable-release build. This was fast enough for testing, but the --disable-release means that the traversal times aren't meaningful (they're several times higher than they otherwise would be). That's fine though, because we just care about the number of shared styles.
I then launched the browser with DUMP_STYLE_STATISTICS=1. I tested [1] and [2], under both single-threaded and multithreaded conditions. I launched the pages, waited for them to fully load, and then executed the bookmarklet at [3] to observe a restyle. My integration of cuviper/fifo-spawn is at [4].
The metrics of interest are:
* elements_styled: The total number of elements styled.
* elements_matched: The number of elements for which we could not share.
let err: &CStr = match err.kind {
ParseErrorKind::Custom(StyleParseErrorKind::MediaQueryExpectedFeatureName(
..,
)) => cstr!("PEMQExpectedFeatureName"),
error: trailing comma is not permitted after `..`
--> /files/mozilla/mc/r/servo/ports/geckolib/error_reporter.rs:356:27
|
356 | ..,
| ^
Error writing files: parse error
error: trailing comma is not permitted after `..`
--> /files/mozilla/mc/r/servo/ports/geckolib/tests/../../../ports/geckolib/error_reporter.rs:356:27
|
000000000456a0a0 <_ZN53_$LT$$RF$$u27$a$u20$T$u20$as$u20$core..fmt..Debug$GT$3fmt17ha7da47afc47dcdbeE>:
456a0a0: 55 push %rbp
456a0a1: 48 89 e5 mov %rsp,%rbp
456a0a4: 48 8b 3f mov (%rdi),%rdi
456a0a7: 5d pop %rbp
456a0a8: e9 53 e4 56 00 jmpq 4ad8500 <_ZN4core3fmt3num54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h5a7782e29a5631cdE>
456a0ad: 0f 1f 00 nopl (%rax)
diff --git a/layout/style/GeckoStyleContext.cpp b/layout/style/GeckoStyleContext.cpp
index bd101d6..44a5d83 100644
--- a/layout/style/GeckoStyleContext.cpp
+++ b/layout/style/GeckoStyleContext.cpp
@@ -31,6 +31,8 @@ GeckoStyleContext::Initialize()
}
#endif
+static Atomic<size_t> gGeckoStyleContexts(0);
+
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//! Small vectors in various sizes. These store a certain number of elements inline, and fall back
//! to the heap for larger allocations. This can be a useful optimization for improving cache
//! locality and reducing allocator traffic for workloads that fit within the inline buffer.
use std::borrow::{Borrow, BorrowMut};
use std::cmp;
bholley@slice /files/mozilla/mc/v (slice_v) $ ./mach build
0:00.36 /usr/bin/make -f client.mk -s
0:01.68 Adding client.mk options from /files/mozilla/mc/v/.mozconfig:
0:01.68 AUTOCLOBBER=1
0:01.68 MOZ_OBJDIR=/files/mozilla/mc/v/obj-x86_64-apple-darwin16.6.0
0:01.68 OBJDIR=/files/mozilla/mc/v/obj-x86_64-apple-darwin16.6.0
0:01.68 FOUND_MOZCONFIG=/files/mozilla/mc/v/.mozconfig
0:02.32 Elapsed: 0.01s; From dist/public: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
0:02.32 Elapsed: 0.01s; From dist/private: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
0:02.32 Elapsed: 0.01s; From dist/branding: Kept 5 existing; Added/updated 0; Removed 0 files and 0 directories.
diff --git a/perf-reftest/bloom-basic.html b/perf-reftest/bloom-basic.html
index c29a514..3a49210 100644
--- a/perf-reftest/bloom-basic.html
+++ b/perf-reftest/bloom-basic.html
@@ -4,8 +4,8 @@
<script src="util.js"></script>
<script>
window.onload = function() {
- document.head.appendChild(build_rule("caption div, caption span", 20000, '{ color: blue; } '));
- let dom = build_dom(5000, "div");