Fixes the bustage described in 4e1faecce8
In theory I could leave this task alone and fork a new toolchain for use by clang 11, but this seems internal-enough that existing builds shouldn't be negatively affected by this.
Differential Revision: https://phabricator.services.mozilla.com/D82444
Use GuardProto / GuardNullProto to prevent loading a null proto in LoadProto.
The next patch will assert objects stored in stub fields are always non-null.
Differential Revision: https://phabricator.services.mozilla.com/D82328
We do leak checking in AddressSanitizer builds. This runs as processes exit,
so we can't exit early. NS_FREE_PERMANENT_DATA should be set in any kind of
build that cares about leak checking.
Differential Revision: https://phabricator.services.mozilla.com/D82459
Set a flag on stubs used by the transpiler and then treat those similar to a
constraint in the old system: invalidate when attaching a new IC stub (in front of
it), when updating the stub, or when unlinking the stub.
This is necessary to avoid repeated bailouts followed by a deoptimization in
CheckFrequentBailouts.
Differential Revision: https://phabricator.services.mozilla.com/D81823
We already do this for e.g. `linux64-clang-9`; this patch extends that pattern everywhere.
This will make it easy to do try runs with other clangs: just move the `toolchain-alias` lines from the `9` tasks to the `trunk` tasks.
Also, this makes dependencies more explicit: for example the gn task specifically requests a clang-9 compiler, so it will also need a clang-9-based cctools-port, rather than whatever moving value the alias represents.
Differential Revision: https://phabricator.services.mozilla.com/D82441
Because passing true to the 3rd parameter (shouldCreate)
causes main thread I/O and should be avoided
especially during startup/shutdown
Differential Revision: https://phabricator.services.mozilla.com/D78912
Due to a change in timing in this patch, when we reset the confirmation pref
at the end of the test, a TRR request would happen after we changed the prefs
leading to accessing a non-local IP in testing and causing a crash.
This should be gated on being in the correct mode anyway
Depends on D81517
Differential Revision: https://phabricator.services.mozilla.com/D82222
mTRRUsed is a variable that we check to gate several telemetry probes, and to
decide if TRR really failed and we should add a domain to the TRR blocklist.
The problem with setting this too early is that when this is true but we
don't actually send the TRR request, then we will report that we fell back
to Do53 and potentially skip next TRR requests in the future.
The solution here is to only set mTRRUsed if TRRServiceChannel::AsyncOpen
succeeds.
Differential Revision: https://phabricator.services.mozilla.com/D81517
Removes the incorrect optimisation added in D37584 for IonBuilder and keeps it
only in `MPow::foldsTo()` when optimising the cases when power ∈ {2,3,4}.
Also changes `MPow::canBeNegativeZero()`'s access modifier to private, now that
it's only used within `MPow::foldsTo()`.
Differential Revision: https://phabricator.services.mozilla.com/D82338
Different from `GetInvisibleTrailingWhiteSpaceRange()`, it always returns
the range even if it's collapsed (i.e., there is no leading white-space).
Differential Revision: https://phabricator.services.mozilla.com/D82274
When switching from a dedicated addon toolbox to an about:devtools-toolbox tab, we did a minimal migration for the browser_aboutdebugging_addons_debug_* tests.
They used to inject a "toolbox test script" in the process of the addon toolbox. But we could have updated them with regular test APIs, async/await patterns etc.
Doing the migration now in preparation for adding calls to waitForRequestsToSettle in the next changeset.
Differential Revision: https://phabricator.services.mozilla.com/D82362
While the duration returned by the demuxer is typically equal to the decoded size; recent cases have shown that this isn't always the case.
Now, the only way you can encounter this bug is if the user has set some pref. the audio BlankDecoderModule is never used by default; only the video one.
Differential Revision: https://phabricator.services.mozilla.com/D82138
This patch includes content from the following places.
- Lina's "Getting Rusty: How to ship an XPCOM component in Firefox" slide deck.
- Zibi's "Rust <--> C/C++ FFI for newbies" gist.
It also links to Emilio's "FFI patterns #1 - Complex Rust data structures
exposed seamlessly to C++" blog post. I was going to include that content, but
it's very long, so I have omitted it for now.
Differential Revision: https://phabricator.services.mozilla.com/D81963
Set a flag on stubs used by the transpiler and then treat those similar to a
constraint in the old system: invalidate when attaching a new IC stub (in front of
it), when updating the stub, or when unlinking the stub.
This is necessary to avoid repeated bailouts followed by a deoptimization in
CheckFrequentBailouts.
Differential Revision: https://phabricator.services.mozilla.com/D81823
One of the `WSFragment`users' purpose is, they remove invisible white-spaces
when there are. So, `TextFragmentData` should have API to retrieve the
ranges and use them for initializing `WSFragment` which represents leading
or trailing white-spaces. For making this patch smaller as far as possible,
these APIs implements only the case when there is no NBSP.
For result of the new API, this creates a template class, `EditorDOMRangeBase`,
whose boundary type is `EditorDOMPointBase`. Its methods are named from
`nsRange`'s same methods.
Differential Revision: https://phabricator.services.mozilla.com/D82272