Such files are, at least as of this writing, only libraries, and we can
get by with installing them later. This change will also avoid having
them added to the dependent libraries list.
Differential Revision: https://phabricator.services.mozilla.com/D78618
We're going to reuse this machinery in a subsequent patch. I think this
change, by virtue of moving all the output to a single place, also makes
things clearer.
Differential Revision: https://phabricator.services.mozilla.com/D78617
(a) Steal nsCORSListenerProxy::UpdateType since the whole usage is removed
by bug 1312864. Now I'm using it to indicate if the headers should be
stripped.
(b) Intentionally to let HttpBaseChannel strip the header to save one
headers copy. It's set via idl, hence I don't think it's moveable.
Differential Revision: https://phabricator.services.mozilla.com/D78831
We need to extract the common method into the idl since the connection between necko
and XHR is idl. Need to import the whole necko if we do something like
`#include "HttpBaseChannel.h"
Differential Revision: https://phabricator.services.mozilla.com/D78830
In general, PSM caches intermediates from verified certificate chains in the
NSS certdb. Before bug 1619021, this would include preloaded intermediates,
which is unnecessary because cert_storage has a copy of those certificates, and
so they don't need to take up time and space in the NSS certdb. This patch
introduces the intermediate preloading healer, which periodically runs on a
background thread, looks for these duplicate intermediates, and removes them
from the NSS certdb.
Differential Revision: https://phabricator.services.mozilla.com/D77152
This attribute can only be toggled on top level BrowsingContext.
These are the top level window's, or tab's BrowsingContext.
From DevTools point of view, it should only be toggled by the
Parent Process or Tab target.
Differential Revision: https://phabricator.services.mozilla.com/D78860
Also makes sure that 'mochitest-devtools-chrome' tasks are triggered by the
'mochitest-browser-chrome' component since they use the same manifest / test
formats.
Depends on D78906
Differential Revision: https://phabricator.services.mozilla.com/D78927
This rule states that if a push *only* modifies files under the /browser directory, then
we'll only schedule tasks that:
A) Use the 'skip-unless-schedules' optimization (this includes most builds and tests)
B) Are tagged with at one of the 'linux', 'macosx' or 'windows' components
This should be everything except Android builds and tests.
Differential Revision: https://phabricator.services.mozilla.com/D78906
By explicitly specifying that `subparsers.required = True`, we encourage argparse to provide a useful message,
rather than "'NoneType' is not callable", when no arguments are provided.
Depends on D77966
Differential Revision: https://phabricator.services.mozilla.com/D77967
In-tree users of `Math.pow` show that the function is often called with the base operand equal to
two. This case can easily be optimised to a series of shift-instructions for any power of two. For
now this optimisation is only taken for 2^i with i in {1..8} to avoid generating too many
consecutive shift-instructions. 2^8 = 256 was chosen as the limit, because it is the maximum power
of two base operand for `Math.pow` used in-tree.
Differential Revision: https://phabricator.services.mozilla.com/D37587
Similar to `LIRGeneratorX86Shared::lowerForALU`, try to use the same register when multiplying an
operand with itself.
This change improves the generated assembly for `Math.pow(x, 2)` from:
```
# instruction MoveGroup
movl %eax, %ecx
# instruction MulI
imull %ecx, %eax
jo .Lfrom0000
```
to:
```
# instruction MulI
imull %eax, %eax
jo .Lfrom0000
```
Differential Revision: https://phabricator.services.mozilla.com/D37586
That way the trailing DoubleToInt32 doesn't emit the negative zero check sequence:
```
movq %xmm0, %rax
cmpq $0x1, %rax
jo .Lfrom0000
```
When MPow is used with a constant power which can be folded to MMul, this change
will lead to better codegen, too. For example `Math.pow(x, 2)` where `x` is an
Int32 value, currently generates the following assembly:
```
# instruction MoveGroup
movl %eax, %ecx
# instruction MulI:CanBeNegativeZero
imull %ecx, %eax
jo .Lfrom0000
testl %eax, %eax
je .Lfrom0000
```
With this patch, this assembly will be generated:
```
# instruction MoveGroup
movl %eax, %ecx
# instruction MulI
imull %ecx, %eax
jo .Lfrom0000
```
Differential Revision: https://phabricator.services.mozilla.com/D37584