Commit Graph

700159 Commits

Author SHA1 Message Date
André Bargull
dfc520a2f2 Bug 1627618 - Part 4: Replace calls to setInt32Specialization for MAdd. r=jandem
The new `MAdd` and `MSub` constructors with a `MIRType` argument can be used
in these places to directly set the return type and the specialisation. That
way we no longer have to call `setInt32Specialization()` manually.

`MMul` already has a compatible constructor which the desired semantics, so
we can remove the `setInt32Specialization()` call here, too.

Differential Revision: https://phabricator.services.mozilla.com/D69781

--HG--
extra : moz-landing-system : lando
2020-04-07 08:35:58 +00:00
André Bargull
530df1cf02 Bug 1627618 - Part 3: Add MSub::NewWasm for MSub users in wasm code. r=jandem
Similar to the previous part, add `MSub::NewWasm` to handle the wasm-specific
initialisation bits, so that `MSub(MDefinition, MDefinition, MIRType)` only
sets the return type and the specialisation.

Differential Revision: https://phabricator.services.mozilla.com/D69780

--HG--
extra : moz-landing-system : lando
2020-04-07 08:35:32 +00:00
André Bargull
3a85148fe9 Bug 1627618 - Part 2: Add MAdd::NewWasm for MAdd users in wasm code. r=jandem
Add `MAdd::NewWasm` similar to how we have a separate `MMul:NewWasm` function.

For wasm we want to default to `MDefinition::Truncate` and set the "commutative"
flag for Int32 values.

This frees up the `MAdd(MDefinition, MDefinition, MIRType)` to only set the
specialisation and the return type, which will be required for later patches to
work correctly.

Differential Revision: https://phabricator.services.mozilla.com/D69779

--HG--
extra : moz-landing-system : lando
2020-04-07 08:35:07 +00:00
André Bargull
37d0520732 Bug 1627618 - Part 1: Add MAdd with truncate parameter. r=jandem
Later patches will require a constructor with the signature
`MAdd(MDefinition, MDefinition, MIRType)`, which neither sets the truncation
mode nor sets the "commutative" flag. Both things happen with the existing
constructor which has a compatible signature and which is currently called
for the use sites modified in this patch. (The existing constructor is the
one directly appearing before the newly added one.)

The existing constructor defaults to `MDefinition::Truncate` and all callers to
that constructor use the `MIRType::Int32` specialisation. Because all callers
use `MIRType::Int32`, we can omit the type parameter for the new constructor.

The existing constructor is also called from WasmIonCompile, the next part will
handle that caller.

Differential Revision: https://phabricator.services.mozilla.com/D69778

--HG--
extra : moz-landing-system : lando
2020-04-07 08:35:25 +00:00
André Bargull
8346f51250 Bug 1626297 - Part 7: Remove MToNumber. r=jandem
Depends on D69519

Differential Revision: https://phabricator.services.mozilla.com/D69942

--HG--
extra : moz-landing-system : lando
2020-04-07 13:15:27 +00:00
André Bargull
1c9bdaae93 Bug 1626297 - Part 6: Check for string indices in MacroAssembler::convertValueToInt. r=jandem
Ion doesn't use ICs for bit-not `~` with String inputs, which resulted in
`+int32AsString` being noticeably faster than `~~int32AsString`. Handling
string indices makes `~~int32AsString` faster than the IC code, which is what
we'd normally expect.

Drive-by change:
- Reuse `SimpleBitOpOperand()` for `bitnotTrySpecialized()`.

Differential Revision: https://phabricator.services.mozilla.com/D69519

--HG--
extra : moz-landing-system : lando
2020-04-07 08:35:25 +00:00
André Bargull
2d35373468 Bug 1626297 - Part 5: Add CacheIR support for unary operators with string inputs. r=jandem
- `emitGuardAndGetNumberFromString()` was changed to use `ScratchDoubleScope`,
  because `FloatReg0` isn't available for Unary ICs. (Lowering doesn't reserve it.)
- `unaryArithTrySpecializedOnBaselineInspector()` now needs to filter String
  values to avoid bailouts.

Differential Revision: https://phabricator.services.mozilla.com/D69518

--HG--
extra : moz-landing-system : lando
2020-04-07 08:32:52 +00:00
André Bargull
c9b37b5f1a Bug 1626297 - Part 4: Add direct String-to-Int32 CacheIR opcode. r=jandem
Directly convert Strings to Int32 to make `+int32AsString` faster and to be
able to have narrower type information for Ion/Warp. Without this change the
unary String ICs for Int32 results from the next part are actually slower than
the ICs for Double results.

`emitGuardAndGetInt32FromString()` is based on the existing
`emitGuardAndGetNumberFromString()` method.

Differential Revision: https://phabricator.services.mozilla.com/D69517

--HG--
extra : moz-landing-system : lando
2020-04-07 08:32:24 +00:00
André Bargull
62b33a2b61 Bug 1626297 - Part 3: Add IC support for JSOp::Pos. r=jandem
I've went with `LoadInt32Result` and `LoadDoubleResult` to match the existing
`LoadObjectResult` CacheIR opcode.

The arguments `jsop_binary_arith()` in `IonBuilder::jsop_pos()` needed to be
swapped to match the requirements in `arithUnaryBinaryCache()`.

Differential Revision: https://phabricator.services.mozilla.com/D69516

--HG--
extra : moz-landing-system : lando
2020-04-07 09:03:23 +00:00
André Bargull
31ef188cb5 Bug 1626297 - Part 2: Add assertions to unary operator ic-code. r=jandem
`tryAttachNumber()` can actually assert the result is a number when the input
is a number.

Differential Revision: https://phabricator.services.mozilla.com/D69515

--HG--
extra : moz-landing-system : lando
2020-04-07 08:31:34 +00:00
André Bargull
d69eb02954 Bug 1626297 - Part 1: Clean-up unary operator function callers. r=jandem
vm/Interpreter-inl.h:
- `IncOperation()` and `DecOperation()` should use a non-mutable handle for their
  `val` parameter.

vm/Interpreter.cpp:
- It's not necessary to create two mutable handles for the same input value.

jit/BaselineIC.cpp:
jit/IonIC.cpp:
- Only when caling `BitNot()` and `NegOperation()` we need to copy the input value.

Differential Revision: https://phabricator.services.mozilla.com/D69514

--HG--
extra : moz-landing-system : lando
2020-04-07 08:31:26 +00:00
sonakshi
9272fc9645 Bug 1595611 - Cache ConnectivityManager in GeckoAppShell r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D69627

--HG--
extra : moz-landing-system : lando
2020-04-07 15:00:37 +00:00
Steven MacLeod
ab4563877e Bug 1626504 - Fix outdated BrowsingContext/SyncedContext comments. r=farre
When D56742 (Bug 1583863) moved BrowsingContext to using SyncedContext
a few comments were left which refer to non-existent files / methods.
I've updated these comments to be consistent with the current code,
moved them to a more appropriate location and removed/updated the stale
references.

Differential Revision: https://phabricator.services.mozilla.com/D69152

--HG--
extra : moz-landing-system : lando
2020-04-07 06:57:11 +00:00
Jon Coppeard
f105b2ae13 Bug 1627683 - Update TSAN suppression list following changes to give GC cells headers r=decoder
Similarly to changeset cfa64a6b5a87, a scope's enclosing scope is no longer updated by MovingTracer::onScopeEdge following the changes in bug 1625212. Update the suppression list accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D69986

--HG--
extra : moz-landing-system : lando
2020-04-07 12:22:07 +00:00
Henrik Skupin
55945d9673 Bug 1626522 - [raptor] Enable extension logging for Raptor webext jobs in CI. r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D69927

--HG--
extra : moz-landing-system : lando
2020-04-07 14:29:36 +00:00
Mark Banner
88fb3a72de Bug 1622243 - Implement the bookmark pages option in the library window. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D68776

--HG--
extra : moz-landing-system : lando
2020-04-07 12:56:19 +00:00
Nicolas Chevobbe
1a4bd13b33 Bug 1627687 - Make console complicated reload test more reliable. r=jdescottes,perftest-reviewers,sparky.
This patch modifies the reloadConsoleAndLog helper so it can
consumes an array of expected messages, and not only a number
of expected messages.
This should prevent the performance variations caused by new
warning messages being added.

Differential Revision: https://phabricator.services.mozilla.com/D69816

--HG--
extra : moz-landing-system : lando
2020-04-07 12:15:59 +00:00
Jan de Mooij
4b3668c519 Bug 1627955 - Simplify JSContext::checkImpl with a fold expression. r=anba
I tested this works by adding things like this to `Compartment::wrap(cx, obj)`
and then executing `newGlobal({newCompartment: true})`:
```
RootedId id(cx);
cx->check(id, obj);
```

Differential Revision: https://phabricator.services.mozilla.com/D70019

--HG--
extra : moz-landing-system : lando
2020-04-07 13:56:10 +00:00
Paul Adenot
0aeec7fcf2 Bug 1627905 - Add uses of WavDumper to AudioCallbackDriver. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D69972

--HG--
extra : moz-landing-system : lando
2020-04-07 14:33:57 +00:00
Paul Adenot
19ff390e1c Bug 1627905 - Rename mOutputChannels to mOutputChannelCount to match the input name. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D69982

--HG--
extra : moz-landing-system : lando
2020-04-07 14:33:57 +00:00
Ryan Hunt
667de55fd2 Bug 1627835 - Emit build system dependencies for Cranelift build.rs. r=bbouvier
bindgen::CargoCallbacks will emit rustc-rerun-if-changed for included headers
so that the build system can re-run build.rs if any header used is changed.

Differential Revision: https://phabricator.services.mozilla.com/D69882

--HG--
extra : moz-landing-system : lando
2020-04-07 07:54:36 +00:00
Valentin Gosu
6a69a94e9a Bug 1625213 - Add simple e10s ESNI test r=dragana
It seems there was no unit test exercising this code in e10s.
This copies the simple test from test_esni_dns_fetch.js to make sure
we have a little code coverage for the IPC code too.

Differential Revision: https://phabricator.services.mozilla.com/D69327

--HG--
extra : moz-landing-system : lando
2020-04-07 11:56:29 +00:00
Valentin Gosu
f29e4186dd Bug 1625213 - Make txt records be resolved with onLookupComplete r=dragana
This patch makes nsIDNSByTypeRecord extend nsIDNSRecord, but implementations
will safely forward the nsIDNSRecord methods to `nullptr`, meaning they will
throw an error when called.

Consumers should try to QI the nsIDNSRecord to nsIDNSByTypeRecord (or any
future types) and use that.

Differential Revision: https://phabricator.services.mozilla.com/D69326

--HG--
extra : moz-landing-system : lando
2020-04-07 12:39:45 +00:00
Valentin Gosu
5bba92d0ef Bug 1625213 - Get rid of ChildDNSRecord.mLength r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D69325

--HG--
extra : moz-landing-system : lando
2020-04-07 11:55:38 +00:00
Mike Conley
f217dbb0d0 Bug 1610613 - Make Picture-in-Picture window persist across workspaces on macOS. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D69932

--HG--
extra : moz-landing-system : lando
2020-04-07 13:28:24 +00:00
owlishDeveloper
29de48a946 Bug 1621480 - Separate progress delegate and history delegate while avoiding race conditions r=geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D69753

--HG--
extra : moz-landing-system : lando
2020-04-07 02:00:04 +00:00
Mihai Alexandru Michis
964773e27c Backed out 7 changesets (bug 1326486) for causing bpgo failures.
CLOSED TREE

Backed out changeset 810a84a18948 (bug 1326486)
Backed out changeset e04c57ed0c04 (bug 1326486)
Backed out changeset 493c338ad705 (bug 1326486)
Backed out changeset 96701b9815c2 (bug 1326486)
Backed out changeset 8adfc59eb3c5 (bug 1326486)
Backed out changeset 441282fd1fea (bug 1326486)
Backed out changeset a64593d4c645 (bug 1326486)
2020-04-07 17:08:08 +03:00
Mihai Alexandru Michis
2e69b21372 Backed out 6 changesets (bug 1618759) for causing mingw bustages on TSFTextStore.cpp
CLOSED TREE

Backed out changeset 77a93a01f924 (bug 1618759)
Backed out changeset f06a8ee813cf (bug 1618759)
Backed out changeset 020258996c4a (bug 1618759)
Backed out changeset 0e3a40bf9ba8 (bug 1618759)
Backed out changeset a4dcd48616d9 (bug 1618759)
Backed out changeset 010d99db9abd (bug 1618759)
2020-04-07 16:55:00 +03:00
Tooru Fujisawa
1d24815244 Bug 1625823 - Part 2: Use smoosh_/Smoosh prefix for bindings. r=yulia
Differential Revision: https://phabricator.services.mozilla.com/D69890

--HG--
extra : moz-landing-system : lando
2020-04-07 11:27:01 +00:00
Tooru Fujisawa
be31dc3ce1 Bug 1625823 - Part 1: Update jsparagus and support RegExp. r=yulia
Differential Revision: https://phabricator.services.mozilla.com/D69886

--HG--
rename : third_party/rust/jsparagus-emitter/src/scope_pass.rs => third_party/rust/jsparagus-scope/src/context.rs
rename : third_party/rust/jsparagus-emitter/src/scope.rs => third_party/rust/jsparagus-scope/src/data.rs
rename : third_party/rust/jsparagus-emitter/src/frame_slot.rs => third_party/rust/jsparagus-scope/src/frame_slot.rs
extra : moz-landing-system : lando
2020-04-07 13:43:45 +00:00
Makoto Kato
adc03fb040 Bug 1618759 - Part 6. Don't open on-screen keyboard when inputmode is none. r=masayuki
`inputmode=none` means that OSK is closed.

`SetInputContext` doesn't call `DismissOnScreenKeyboard` directly since
`DismissOnScreenKeyboard` has no hack of Firefox VR.

Depends on D68316

Differential Revision: https://phabricator.services.mozilla.com/D68317

--HG--
extra : moz-landing-system : lando
2020-04-07 13:29:28 +00:00
Makoto Kato
697c8ef8d4 Bug 1618759 - Part 5. Lazy check whether OSK is closed. r=masayuki
As long as I test on my environment, bug 1226148 isn't fixed. Since native
message queue has high priority, Gecko may check whether focus is changed
before changing focus to another.

So we shouldn't use native message queue for this. It is better to use idle
queue instead.

Depends on D68315

Differential Revision: https://phabricator.services.mozilla.com/D68316

--HG--
extra : moz-landing-system : lando
2020-04-07 13:28:11 +00:00
Makoto Kato
1b72c87658 Bug 1618759 - Part 4. Use InputPane to open on-screen keyboard for Windows 10 RS1+. r=masayuki
Unfortunately, current on-screen keyboard (OSK) code in Gecko doesn't work on
current Windows 10. Actually, Windows automatically control OSK when getting
focus. But this isn't good for web browser since `inputmode` spec can close
OSK by `none` value.

Windows 10 RS1 has new API (IInputPane [*1]) to control software keyboard. So
we have to use it if OS is RS1 or later.

TSF has new flag as `TS_SD_INPUTPANEMANUALDISPLAYENABLE` not to control OSK by
TSF. We should use it.

IMM doesn't have this feature to manage OSK. This will become a limitation for
`inputmode` implementation.

[*1] https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.inputpane

Depends on D68314

Differential Revision: https://phabricator.services.mozilla.com/D68315

--HG--
extra : moz-landing-system : lando
2020-04-07 13:27:33 +00:00
Makoto Kato
9621dd2ac9 Bug 1618759 - Part 3. Allow inputmode for non-input element. r=masayuki
Current WHATWG spec is that `inputmode` attribute supports non-input element.
I would like to remove input element check for bug 142484 that is
contenteditable support.

Microsoft IME, Google IME and etc refer 1st input scope that they support, so
we will add both input scopes from `type` and `inputmode`.

Depends on D68313

Differential Revision: https://phabricator.services.mozilla.com/D68314

--HG--
extra : moz-landing-system : lando
2020-04-07 13:25:02 +00:00
Makoto Kato
ea43168d9c Bug 1618759 - Part 2. Support decimal and search value for inputmode. r=masayuki
Current WHATWG spec means that `numeric` is `IS_DIGITS` and `decimal` is
`IS_NUMBER`.

Depends on D68312

Differential Revision: https://phabricator.services.mozilla.com/D68313

--HG--
extra : moz-landing-system : lando
2020-04-07 13:23:25 +00:00
Makoto Kato
f71b23fdfc Bug 1618759 - Part 1. Use common method to set input scope. r=masayuki
Gecko has duplicated code for input scope support, so I would like to clean up
this.

Differential Revision: https://phabricator.services.mozilla.com/D68312

--HG--
extra : moz-landing-system : lando
2020-04-07 13:23:12 +00:00
Gregory Mierzwinski
f21a2b4779 Bug 1627279 - Use speedometer rather than raptor-speedometer-APP in browsertime tests. r=perftest-reviewers,alexandru.irimovici
This patch changes the test that browsertime runs for speedometer from `raptor-speedometer-APP` to `speedometer` and changes some other small issues like the missing app name in the `extraOptions` field in the perfherder data.

Differential Revision: https://phabricator.services.mozilla.com/D69581

--HG--
extra : moz-landing-system : lando
2020-04-07 13:27:30 +00:00
Julian Descottes
c936069c09 Bug 1627933 - Fix preference name to disable new perf panel for the Browser Toolbox r=julienw
This line was introduced in https://bugzilla.mozilla.org/show_bug.cgi?id=1408124

However the preference is incorrectly named. It should be devtools.performance.new-panel-enabled instead of devtools.preference.new-panel-enabled (which doesn't exist)

Differential Revision: https://phabricator.services.mozilla.com/D69985

--HG--
extra : moz-landing-system : lando
2020-04-07 13:18:55 +00:00
Jon Coppeard
fed7ef7722 Bug 1622757 - Start fewer parallel tasks if not enough work to satisfy maximum number of threads r=sfink
Previously we could start more parallel tasks than there were work items.  This changes things around so we take a work item when we create a ParallelWorker, so that we can stop creating them if we run of of work.

I change the foreground cell update code to not use ParallelWorker at all for work that happens entirely on the main thread and doesn't need synchronisation.

Differential Revision: https://phabricator.services.mozilla.com/D66962

--HG--
extra : moz-landing-system : lando
2020-03-23 10:50:35 +00:00
jayati
1dda3e000b Bug 1594230 - Use actorCreated callback to listen to 'pageshow' event. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D69710

--HG--
extra : moz-landing-system : lando
2020-04-07 13:10:53 +00:00
Mihai Alexandru Michis
5c60242230 Backed out 6 changesets (bug 1350875) for causing failures in test.util.UiThreadUtils$TimeoutException
CLOSED TREE

Backed out changeset c65f2c0b6332 (bug 1350875)
Backed out changeset 5084623c0f83 (bug 1350875)
Backed out changeset 4eda0d89d8a2 (bug 1350875)
Backed out changeset 149058087816 (bug 1350875)
Backed out changeset 71ba43d7b2df (bug 1350875)
Backed out changeset e65ead196f4b (bug 1350875)
2020-04-07 16:13:53 +03:00
David Major
abffbe294c Bug 1326486 - build-clang: Convert 3-stage builds to 4-stage PGO builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D69084

--HG--
extra : moz-landing-system : lando
2020-04-07 08:32:59 +00:00
David Major
26ce55ba6d Bug 1326486 - build-clang: Add support for PGO builds. r=glandium
This adds the ability to do four-stage PGO builds. This was surprisingly straightforward thanks to PGO being a well-supported scenario in LLVM's cmake.

For reference, the stages are:
stage1: Initial build with gcc
stage2: Instrumented build using stage1
stage3: Train by using the instrumented stage2 to build the clang tree
stage4: Optimize using the stage3 compiler and the profdata created with it

Differential Revision: https://phabricator.services.mozilla.com/D69080

--HG--
extra : moz-landing-system : lando
2020-04-07 08:32:32 +00:00
David Major
b893b82141 Bug 1326486 - build-clang: Add support for 4-stage builds r=glandium
Separating out the mechanical/"boring" changes to make the next patch more clear. This patch adds the ability to build a fourth stage that for now doesn't do anything special.

I changed to using >= to make it more obvious that e.g. "here is what's going to happen for stage 2" -- the off-by-one was too hard on my brain.

Differential Revision: https://phabricator.services.mozilla.com/D69079

--HG--
extra : moz-landing-system : lando
2020-04-07 08:29:02 +00:00
David Major
fc99fcb538 Bug 1326486 - build-clang: Merge LLVM a84b200e604 to fix Windows PGO. r=glandium
a84b200e60

Differential Revision: https://phabricator.services.mozilla.com/D69083

--HG--
extra : moz-landing-system : lando
2020-04-07 08:27:54 +00:00
David Major
5f9aa001c2 Bug 1326486 - build-clang: Install imports and asan symbols only in the final stage r=glandium
Otherwise, PGO builds would fail to find asan at stage2 because the instrumented build uses `LLVM_BUILD_RUNTIME=No`.

Differential Revision: https://phabricator.services.mozilla.com/D69082

--HG--
extra : moz-landing-system : lando
2020-04-07 08:27:36 +00:00
David Major
ec2075139f Bug 1326486 - build-clang: avoid building unnecessary things in intermediate stages. r=glandium
This will partially atone for making builds longer with PGO.

Depends on D69618

Differential Revision: https://phabricator.services.mozilla.com/D69620

--HG--
extra : moz-landing-system : lando
2020-04-07 08:27:26 +00:00
David Major
4eea888422 Bug 1326486 - build-clang: pass is_final_stage even for stage1. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D69618

--HG--
extra : moz-landing-system : lando
2020-04-07 08:25:29 +00:00
Tom Schuster
35f8a227ce Bug 1626143 - Don't propagate SharedWorker errors to the owner window. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D69241

--HG--
extra : moz-landing-system : lando
2020-04-07 12:42:38 +00:00
Itiel
2d811ba28c Bug 1627903 - Fix the context selector's dropdown button location for RTL r=nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D69971

--HG--
extra : moz-landing-system : lando
2020-04-07 12:32:49 +00:00