Граф коммитов

721108 Коммитов

Автор SHA1 Сообщение Дата
Honza Bambas 141e8f5d72 Bug 1609410 - Clear used proxy identity in nsHttpChannelAuthProvider to prevent authentication prompt pop-up on transaction internal restart, r=kershaw,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D84533
2020-08-03 18:31:36 +00:00
Ted Campbell e0b89ed8e6 Bug 1657353 - Move ObjLiteralStencil out of ScriptThingVariant. r=arai
This type was ballooning the size of the variant, but could instead be put
out-of-band in a vector on the CompilationInfo. This change also makes the
case more similar to BigInt / RegExp.

Differential Revision: https://phabricator.services.mozilla.com/D86015
2020-08-06 14:06:21 +00:00
Marco Bonardo f3fa511bd6 Bug 1657211 - Search history is not saved when one-off buttons are picked in the Address Bar. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D86004
2020-08-06 12:51:30 +00:00
Dev Singh e24d477b21 Bug 1635835 - Fix request parsing with XSSI-escapes in requests and responses r=Honza,bomsy
Also implements JSONP parsing into the main JSON parser

Differential Revision: https://phabricator.services.mozilla.com/D80720
2020-08-06 12:51:14 +00:00
David Major 4950130b02 Bug 1657391 - Update CodeCoverageHandler.cpp for clang-12 r=marco
In clang-12, 5809a32e7c split `__gcov_flush` into `__gcov_dump` and `__gcov_reset`. We have to make a corresponding update in CodeCoverageHandler.cpp to avoid build errors.

Differential Revision: https://phabricator.services.mozilla.com/D86026
2020-08-05 22:00:39 +00:00
Dzmitry Malyshau 86b28cfe0b Bug 1656853 - Check for EGL context to be alive on destruction r=aosmond,jgilbert
This probably doesn't matter, as the changes will be rolled back by
https://phabricator.services.mozilla.com/D85496
But the change should fix the crash anyway, for now.

Differential Revision: https://phabricator.services.mozilla.com/D86069
2020-08-05 21:58:14 +00:00
Matthew Gaudet a0e70b9ad4 Bug 1652976 - Add WarpBuilder support for CheckPrivateField r=iain
Differential Revision: https://phabricator.services.mozilla.com/D86060
2020-08-06 13:14:53 +00:00
Matthew Gaudet c292a1f3ec Bug 1652974 - Add Ion support for CheckPrivateField r=iain
Exclusively use the IC, rather than trying to do TI tricks just yet.

Differential Revision: https://phabricator.services.mozilla.com/D86059
2020-08-06 13:14:40 +00:00
Tom Schuster dd9d9a105c Bug 1657088 - Optimize CheckIsObj in WarpBuilder for known objects. r=jandem
This is useful for scalar replacement / escape analysis, because otherwise
we would have to handle that case there, too.

Differential Revision: https://phabricator.services.mozilla.com/D85873
2020-08-06 11:28:59 +00:00
Tom Schuster 59485f7302 Bug 1657088 - Folding for MIsObject and MCheckIsObj. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D85872
2020-08-06 11:28:52 +00:00
Tom Schuster 2ca4d6fbee Bug 1657088 - Change MCheckIsObject to return an Object. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D85991
2020-08-06 11:31:57 +00:00
Tom Schuster aaa2501e8d Bug 1657088 - Do inlining for JSOp::CallIter. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D85871
2020-08-06 13:09:09 +00:00
Csoregi Natalia 5427a0570f Backed out 3 changesets (bug 1657285) for bustage on Lowering.cpp CLOSED TREE
Backed out changeset c4efa5897bd9 (bug 1657285)
Backed out changeset 4502ed4807ae (bug 1657285)
Backed out changeset 2c4dd17ca2c1 (bug 1657285)
2020-08-06 16:12:34 +03:00
Dimi Lee 55e7a2d5d0 Bug 1654064 - P2. Add a testcase for applying window.open heuristic on a first-party iframe. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D85827
2020-08-06 12:53:00 +00:00
Dimi Lee 8454bf728c Bug 1654064 - P1. Use first-party check instead of top-level check while applying storage access heuristic r=baku
Differential Revision: https://phabricator.services.mozilla.com/D85826
2020-08-06 12:52:52 +00:00
André Bargull 57131d730f Bug 1657285 - Part 3: Optimise IsTypedArrayConstructor in CacheIR and Warp. r=jandem
Add `IsTypedArrayConstructorResult` to CacheIR to test if a constructor is
definitely a TypedArray constructor. The `IsTypedArrayConstructor` intrinsic
returns `true` when the input is TypedArray constructor function. It allows the
constructor to be from a different realm, but it doesn't unwraps wrappers. (So
false-negatives are possible. This is okay because the function is only used to
guard a fast-path.)


Drive-by change:
- Change `IsTypedArrayConstructor` to use `Scalar::Type` for its parameter. This
  function is only called from asm.js code which already passes a `Scalar::Type`.
- Also change it to use the `JS_FOR_EACH_TYPED_ARRAY` macro used elsewhere in
  TypedArrayObject.cpp.

Differential Revision: https://phabricator.services.mozilla.com/D85970
2020-08-06 12:13:36 +00:00
André Bargull b853287422 Bug 1657285 - Part 2: Optimise ArrayIteratorPrototypeOptimizable in CacheIR. r=jandem
Optimise IntrinsicArrayIteratorPrototypeOptimizable using shape and slots guards
for now.

Differential Revision: https://phabricator.services.mozilla.com/D85969
2020-08-05 09:41:55 +00:00
André Bargull ccd93ffb0c Bug 1657285 - Part 1: Rename GuardFunctionPrototype to GuardDynamicSlotIsSpecificObject. r=jandem
Renames "GuardFunctionPrototype" to "GuardDynamicSlotIsSpecificObject" and changes
the "proto" argument to "expected". Part 2 will reuse this CacheIR op.

Drive-by change:
- Add the "no fixed slots" assertion from InstanceOfIRGenerator to the
  CallIRGenerator use site.

Differential Revision: https://phabricator.services.mozilla.com/D85967
2020-08-05 09:41:53 +00:00
Edgar Chen 47b2d8fc3f Bug 1597463 - Audit usage of nsIDocShellTreeItem in PresShell::GetParentPresShellForEventHandling; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D84694
2020-08-05 01:50:21 +00:00
Tom Schuster 35b9fd1d77 Bug 1657311 - Hard-code MIME-extension mappings for FLAC and AAC. r=jya,Gijs
Drive-by: Remove the obviously unused macro MAC_TYPE.

Differential Revision: https://phabricator.services.mozilla.com/D85989
2020-08-06 11:41:18 +00:00
Martin Stransky 9dba843992 Bug 1656436 [Linux/VAAPI] Release VAAPI surface data before we re-use them, r=jya
VAAPI HW surfaces are released at ReleaseUnusedVAAPIFrames() and we use DMABufSurface::IsUsed() flag
to detect unused surfaces. Then we call GetUnusedDMABufSurfaceWrapper() to get unused surfaces to
re-use them for decoding.

Because DMABufSurface::IsUsed() flag is updated asynchronously it may change
between ReleaseUnusedVAAPIFrames() and GetUnusedDMABufSurfaceWrapper() calls.

In that case GetUnusedDMABufSurfaceWrapper() may return unused but also unreleased surface
as it was marked as used in time of ReleaseUnusedVAAPIFrames() call.

In this patch explicitly release VAAPI data of any surface before we re-use it.
Also fail when we try to upload data to already used DMABufSurfaceYUV surface.

Differential Revision: https://phabricator.services.mozilla.com/D85842
2020-08-06 11:12:45 +00:00
Gregory Mierzwinski 35b744b17a Bug 1655787 - Pass verbose flag through raptor's mozharness script. r=perftest-reviewers,Bebe
This fixes a parsing issue in Raptor's mozharness code.

Differential Revision: https://phabricator.services.mozilla.com/D85175
2020-08-04 09:26:09 +00:00
Csoregi Natalia 3264618a4c Backed out changeset 664faa6f72ad (bug 1657122) for tsan failures on Cell.h. CLOSED TREE 2020-08-06 14:34:25 +03:00
Luca Greco 335c638616 Bug 1570478 - Prevent browser_ext_devtools_network.js from failing intermittently due to late RDP requests. r=Honza
A late getEventTimings RDP request is being cancelled while we are exiting the test case and we have already closed the devtools toolbox.

The related network request is very likely unrelated to the scenario being tested (I suspect it may be an HTTP request triggered by some
privileged code and being automatically added to the webconsole panel, it is not unlikely that we are not explicitly checking if the http
requests logged in the webconsole are actually related to the extension that the devtools toolbox is targeting).

In the meantime, the attached patch is adding to the PromiseTestUtils's "global allow list" the rejections for any late RDP request
that may still be pending while the test is exiting.

Differential Revision: https://phabricator.services.mozilla.com/D86000
2020-08-05 15:38:26 +00:00
Mark Banner 0ad48891bd Bug 1657253 - Allow a little longer for searchconfig tests to complete. r=daleharvey
Differential Revision: https://phabricator.services.mozilla.com/D86021
2020-08-06 10:02:37 +00:00
Edgar Chen c220c51fc4 Bug 1648887 - Part 2: Enable test_navigate_after_pagehide.html; r=kmag
This is a another case that hit the same assertion, we could reenable it after
bug 1611961.

Depends on D85752

Differential Revision: https://phabricator.services.mozilla.com/D85753
2020-08-04 20:08:08 +00:00
Edgar Chen a3e3fac3e8 Bug 1648887 - Part 1: Turn the fuzzing test script into automation test; r=smaug
The assertion crash found by fuzzing is fixed after moving useraction state from
BrowsingContext to WindowContext, see bug 1611961.

Differential Revision: https://phabricator.services.mozilla.com/D85752
2020-08-03 16:58:39 +00:00
Edgar Chen d2c2f39bd2 Bug 1611961 - Move UserActivationState from BrowsingContext to WindowContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D83126
2020-08-06 10:25:00 +00:00
Geoff Lankow 36b7c933aa Bug 1657513 - Override telemetry products check in test_addon_manager_telemetry_events.js. r=willdurand,rpl
Thunderbird does not have/want some of the probes this test relies on.

Differential Revision: https://phabricator.services.mozilla.com/D86115
2020-08-06 10:08:07 +00:00
Jon Coppeard 7abae42c44 Bug 1657122 - Compact ObjectGroups r=sfink,decoder
Previously we didn't compact ObjectGroups, but doing this would hopfully unlock more memory savings in bug 1654853.

Most of the trickiness here comes from accessing objects whose object group is forwarded, so require special-case handling to get their class, compartment etc.

Differential Revision: https://phabricator.services.mozilla.com/D86033
2020-08-05 20:52:10 +00:00
Tooru Fujisawa 5db528fdd5 Bug 1654149 - Add dumpStencil shell-builtin. r=tcampbell
Add dump method to stencil-related structs, that dumps the struct as JSON,
and `dumpStencil()` shell-builtin as a consumer.

Some structs have dumpFields method, given that JSONPrinter only provide
beginObjectProperty/endObject to print a property with an object value.

There's some design decision about when to use string-representation and when
to use object.
Currently simple single-field struct like ScopeIndex uses string-representation
like "ScopeIndex(0)", and ScriptAtom also uses string-representation.

There's an exception in ScriptAtom case in DumpScriptThing,
that we need to differentiate string and string-representation of other
structs, and for simplicity, ScriptAtom case uses object with "type" property,
and other single-field structs use string-representation.

The current dumpStencil does not dump CompilationInfo.asmJS (FIXME) and
ScriptStencil.immutableScriptData.

Most of ScriptStencil.immutableScriptData field can be dumped by `dis()`
function.

Differential Revision: https://phabricator.services.mozilla.com/D86042
2020-08-06 08:32:23 +00:00
Dmitry Bezhetskov c2d6af5122 Bug 1639153 - Part 3: Implement the algorithm for obtaining tls and use it for wasm signal handling. r=lth
This is the third part of series of patches to Frame without tls pointer.
Here we preserve initial tls in all entry stubs and then use it to find a proper tls instance for a given frame.

To find the TlsData* for specific frame we start from a entry stub's tls
and then track tls through all possible cross-instance calls. This logic
is implemented in GetNearestEffectiveTls procedure.

Then, we use this new procedure to make singal handling free from Frame::tls.

Differential Revision: https://phabricator.services.mozilla.com/D83044
2020-08-06 08:19:08 +00:00
Dmitry Bezhetskov 8e0b87e8e3 Bug 1639153 - Part 2: Preserve callee and caller tls'es. r=lth
This is a followup patch for removing Frame::tls.
Now, we are preserving caller's and callee's tls'es for all possible cross-instance calls in the previously allocated abi slots.
We also use preserved tls values to restore the caller's tls in Ion. Baseline doesn't need this because it restores the caller tls from its private stack slot after the call.

Differential Revision: https://phabricator.services.mozilla.com/D82888
2020-08-06 07:44:43 +00:00
Dmitry Bezhetskov b5803b139b Bug 1639153 - Part 1: Reserve two slots after stack arguments for the future tls preservation. r=lth
We are going to remove Frame::tls and support trampolines for indirect calls, so we need to get rid of using Frame::tls.
In this and the followup patches I will iteratively remove all dependencies of Frame::tls and remove it eventually.

In this patch I changed wasm ABI to allocate two stack slots after stack args to preserve caller's and callee's tls'es in the near future.

Differential Revision: https://phabricator.services.mozilla.com/D82881
2020-08-06 07:41:50 +00:00
Hiroyuki Ikezoe e6c0d31860 Bug 1657535 - Rename runTest18 to runTest19 to run runTest18 properly in printpreview_helper.xhtml. r=emilio
There are two runTest18 functions. :)

Differential Revision: https://phabricator.services.mozilla.com/D86134
2020-08-06 07:59:17 +00:00
Andi-Bogdan Postelnicu 992408f681 Bug 1627484 - clang cannot understanding the mixing of double and single quotes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D70300
2020-08-06 07:54:09 +00:00
Matt Woodrow a0e8493a66 Bug 1657499 - Allow SWGL to run in basic_compositor_video. r=lsalzman,perftest-reviewers
Depends on D86088

Differential Revision: https://phabricator.services.mozilla.com/D86089
2020-08-06 07:48:01 +00:00
Cosmin Sabou 4fd06f639e Backed out 2 changesets (bug 1656379, bug 1656587) for linux Hazard bustages.
Backed out changeset 451369452f15 (bug 1656587)
Backed out changeset 670195cb59f8 (bug 1656379)
2020-08-06 10:36:51 +03:00
Platon Pronko 299c1ddce1 Bug 1640745 - fix NewChannelId so that ids fit into safe JS integer range r=necko-reviewers,valentin
On Linux PID_MAX_LIMIT is 2^22. By default pid_max was set to 2^15, but
systemd since version 243 sets it to 2^22.
nsHttpHandler::NewChannelId uses PID shifted by 32 bits to generate
channelId, and that results in values greater than 2^53.
Such values are fine for uint64_t, but when we pass channelId to
devtools it gets converted to JavaScript floats, and values greater
than 2^53 get errors in lower two bits. This in turn leads to much
sorrow, like request id collisions or "no headers for this request".

This patch shifts the PID by one bit less, resulting in channelIds
that always fit into safe JavaScript integer range for all PIDs.

Differential Revision: https://phabricator.services.mozilla.com/D85990
2020-08-06 07:25:06 +00:00
Andi-Bogdan Postelnicu 1ead43f591 Bug 1657299 - First step of refactor `static-analysis` integration, making it more modular. r=marco
Add a modular approach for the integration of `static-analysis` module in order
to be able to share components of it with other modules, like the integration of
`clangd` in `vscode` where we need to have access to the configuration of `clang-tidy`
in order to have `in-ide` `static-analysis` messages.
In this initial step we make a separate module for the clang-tidy configuration.

Differential Revision: https://phabricator.services.mozilla.com/D85979
2020-08-06 06:51:16 +00:00
Andi-Bogdan Postelnicu 9e73e83509 Bug 1657301 - Reformat `static-analysis` with `black`. r=sylvestre
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D85985
2020-08-05 13:32:46 +00:00
Andi-Bogdan Postelnicu 60cc6f8d69 Bug 1656740 - Integrate `clangd` in `vscode` for C++ language support. r=froydnj
In order to have a cross platform ide for C++ language support we've added `clangd`
extenssion and artifact part of `vscode` suite.
To generate the configuration you simply run:
`./mach ide vscode `.

Differential Revision: https://phabricator.services.mozilla.com/D85416
2020-08-06 06:25:17 +00:00
Csoregi Natalia cefc5b2c94 Backed out changeset c2583743d4eb (bug 1654149) for bustage on ObjLiteral.cpp. CLOSED TREE 2020-08-06 09:55:40 +03:00
André Bargull 09dc689cd0 Bug 1657100 - Part 5: Optimise IsPossiblyWrappedRegExpObject in CacheIR. r=jandem
Similar to part 1 and part 2 only optimises when no wrappers are used.

Differential Revision: https://phabricator.services.mozilla.com/D85855
2020-08-06 06:16:29 +00:00
André Bargull 3c00c4c610 Bug 1657100 - Part 4: Use assertions to check intrinsics are called with the correct arguments. r=jandem
Use assertions for consistency with other intrinsics which are already asserting
that the correct number of arguments with the correct types are used.

Differential Revision: https://phabricator.services.mozilla.com/D85854
2020-08-05 11:46:18 +00:00
André Bargull f427e31098 Bug 1657100 - Part 3: Remove emitNativeCalleeGuard for intrinsics. r=jandem
The first intrinsics optimised in CacheIR were still using emitNativeCalleeGuard.
Later one we've removed this guard.

Differential Revision: https://phabricator.services.mozilla.com/D85853
2020-08-05 11:46:06 +00:00
André Bargull d77a1da52f Bug 1657100 - Part 2: Optimise PossiblyWrappedTypedArrayLength in CacheIR. r=jandem
Similar to part 1 only optimises when called without a wrapper.

Differential Revision: https://phabricator.services.mozilla.com/D85852
2020-08-05 11:45:38 +00:00
André Bargull 3dd1477b76 Bug 1657100 - Part 1: Optimise Intrinsic(PossiblyWrapped)ArrayBufferByteLength in CacheIR. r=jandem
Similar to Ion only optimise the case when the object isn't actually a wrapper.

We don't have a separate MArrayBufferByteLength MIR node, so use the same
approach as used in IonBuilder and use a fixed slot load to optimise the
call.

Differential Revision: https://phabricator.services.mozilla.com/D85851
2020-08-05 11:44:55 +00:00
Tooru Fujisawa bf6672e967 Bug 1654149 - Add dumpStencil shell-builtin. r=tcampbell
Add dump method to stencil-related structs, that dumps the struct as JSON,
and `dumpStencil()` shell-builtin as a consumer.

Some structs have dumpFields method, given that JSONPrinter only provide
beginObjectProperty/endObject to print a property with an object value.

There's some design decision about when to use string-representation and when
to use object.
Currently simple single-field struct like ScopeIndex uses string-representation
like "ScopeIndex(0)", and ScriptAtom also uses string-representation.

There's an exception in ScriptAtom case in DumpScriptThing,
that we need to differentiate string and string-representation of other
structs, and for simplicity, ScriptAtom case uses object with "type" property,
and other single-field structs use string-representation.

The current dumpStencil does not dump CompilationInfo.asmJS (FIXME) and
ScriptStencil.immutableScriptData.

Most of ScriptStencil.immutableScriptData field can be dumped by `dis()`
function.

Differential Revision: https://phabricator.services.mozilla.com/D86042
2020-08-06 05:57:12 +00:00
Csoregi Natalia c2fc6d2bb6 Backed out 2 changesets (bug 1639153) for bustage on MacroAssembler.h. CLOSED TREE
Backed out changeset 296b7f5a0713 (bug 1639153)
Backed out changeset f68854b70d6a (bug 1639153)
2020-08-06 09:31:45 +03:00