We're converting to nscoord in some places unnecessarily, reducing the
precision of the computed value we return.
This makes some tests unnecessarily fail if we change the base of
nscoord.
Differential Revision: https://phabricator.services.mozilla.com/D79996
When linking a weak symbol in an object against a library where the
symbol is provided with a version, the final binary gets a weak versioned
symbol reference.
It turns out weak versioned symbols still make the dynamic linker need
the symbol version, even if all symbols needed with that version are
weak.
Practically speaking, that means with bug 1634204, we now end up with
a weak versioned symbol reference to __cxa_thread_atexit_impl with
version GLIBC_2.18, and glibcs without the symbol can't fulfil that
version, even though the weak symbol is the only thing we need from that
version.
This means the check_binary changes in bug 1634204 are too
relaxed, so we revert them (although we keep the easier to read
conditions in check_dep_versions).
We also introduce a hack in stdc++compat.cpp (although it's not
technically entirely about libstdc++ compat) so that we avoid the weak
symbol reference while keeping the intended baseline for libstdc++ and
glibc.
Differential Revision: https://phabricator.services.mozilla.com/D79773
Since `@memoize` on a method is per-instance, use a single instance for all
tests, rather than a new one for each tasks. This gives a ~4x speedup in test
task generation.
Differential Revision: https://phabricator.services.mozilla.com/D79764
CLOSED TREE
Backed out changeset 8c4a24b91c88 (bug 1646088)
Backed out changeset ef746bdcbaf6 (bug 1646088)
Backed out changeset 77d15266af3c (bug 1646088)
The Iterator Helpers proposal adds a cycle to the graph of standard builtins:
Iterator.prototype.map.[[Prototype]] is %Generator%, and
%Generator%.prototype.[[Prototype]] is Iterator.prototype.
Our approach to standing up the builtins doesn't automatically handle cycles,
so each cycle is handled specially. First, we must avoid looping while
compiling self-hosting code (this patch). Another workaround is added later
in this stack.
Differential Revision: https://phabricator.services.mozilla.com/D75220
This patch fixes the tests in testing/performance/ that hadn't been updated to
the new API, as well as fixing a couple issues with the `--proxy` option:
* `policy.json` wasn't being logged correctly, since mozlog was treating the
data as a format string
* Proxy prefs weren't being set correctly for the profile
Differential Revision: https://phabricator.services.mozilla.com/D79937
- Enable WebGL SwapChain pooling on Android. Creating and releasing Android Surfaces every frame causes a big performance hit due to AndroidSurface slow destructors bug.
- Add a separate SwapChain for WebVR. We are already using separate SwapChains for WebXR (WebGLFramebuffer::mOpaqueSwapChain) but not for WebVR (it uses the canvas backbuffer).
Differential Revision: https://phabricator.services.mozilla.com/D79840
When inserting an argument into the IpdlQueue for transmission, we need to resize the internal buffer if we end up with more data than expected.
Differential Revision: https://phabricator.services.mozilla.com/D79581
Additionally, recommends the installation of AdoptOpenJDK instead of the Oracle JDK.
This required a different "JAVA_HOME" detection mechanism, which is implemented in this revision.
Differential Revision: https://phabricator.services.mozilla.com/D79547
The default configuration recommended here[1], while being a good
generic default, it doesn't quite work for mozilla-central as that peeks
the closest ancestor directory with a `Cargo.toml`.
For example, when editing under `servo/components/style`, it'd try to
use that directory as a project root and fail like:
```
0: Failed to run `cargo metadata --manifest-path /home/emilio/src/moz/gecko/servo/components/style/Cargo.toml`
1: Error during execution of `cargo metadata`: Updating crates.io index
error: failed to get `servo_atoms` as a dependency of package `style v0.0.1 (/home/emilio/src/moz/gecko/servo/components/style)`
Caused by:
failed to load source for dependency `servo_atoms`
```
Instead, we want to override it using the `'project_directory'` setting
so that we hit this path[2] and it works out of the box.
[1]: https://rust-analyzer.github.io/manual.html#youcompleteme
[2]: 63db7ea379/ycmd/completers/language_server/language_server_completer.py (L1914-L1916)
Differential Revision: https://phabricator.services.mozilla.com/D79938