Commit Graph

7174 Commits

Author SHA1 Message Date
Stephen Donner
59ec80a211 Bug 1594219: [browsertime] HTTPError: 404: file not found for ImageMagick-x86_64-apple-darwin18.7.0.tar.gz in browsertime --setup on macOS/OSX. r=acreskey
Differential Revision: https://phabricator.services.mozilla.com/D51931

--HG--
extra : moz-landing-system : lando
2019-11-05 22:03:38 +00:00
Narcis Beleuzu
e4b2faa491 Backed out changeset 7703531b8600 (bug 1593084) for Linting opt. CLOSED TREE 2019-11-06 00:13:52 +02:00
Sylvestre Ledru
22c5ecbeb9 Bug 1593218 - Enable recommonmark for markdown doc in sphinx r=ahal
Depends on D51806

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

--HG--
extra : moz-landing-system : lando
2019-11-05 21:50:26 +00:00
Sylvestre Ledru
7f95c4e957 Bug 1593218 - update the version of recommonmark r=ahal
because of a bug in recommonmark:
https://stackoverflow.com/questions/52496591/sphinx-and-markdown-md-links

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

--HG--
extra : moz-landing-system : lando
2019-11-05 21:50:17 +00:00
Sylvestre Ledru
b67b6004b4 Bug 1593084 - Update the presentation of the "Mozilla Source Tree Documentation" page r=ahal
Uses a tree.json file to configure the tree (will be moved in the yml file)
We also removed the python package doc from the landing page because :
* They are still accessible in the sidebar
* Hardly anyone is going to be looking for them (they are mostly useful to link to from other docs)
* They get in the way of the documentation below

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

--HG--
extra : moz-landing-system : lando
2019-11-05 21:33:00 +00:00
Narcis Beleuzu
45a3b83fc8 Backed out changeset cbec8a55a1bb (bug 1575008) for build bustages (Bof). CLOSED TREE
--HG--
rename : third_party/rust/arrayvec-0.4.11/build.rs => third_party/rust/arrayvec/build.rs
rename : third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs => third_party/rust/arrayvec/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec-0.4.11/src/range.rs => third_party/rust/arrayvec/src/range.rs
2019-11-05 23:22:40 +02:00
Dzmitry Malyshau
9ac41ecccf Bug 1575008 - WebGPU implementation basis r=webidl,baku
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - https://github.com/gfx-rs/wgpu/pull/371
  - [x] macOS
    - [x] due to cross-compiling shaders - https://github.com/gfx-rs/gfx/pull/3047
    - [x] need the dependency update
    - [x] stop using gcc - https://github.com/SSheldon/rust-objc-exception/pull/5
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - https://github.com/servo/ipc-channel/pull/233~~
    - [x] due to some exceptional stuff - https://github.com/grovesNL/spirv_cross/issues/121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - https://github.com/gfx-rs/gfx/pull/3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - https://github.com/alexcrichton/cc-rs/pull/455
  - [x] Android
    - [x] spirv-cross fails to build - https://github.com/KhronosGroup/SPIRV-Cross/pull/1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/arrayvec/.cargo-checksum.json => third_party/rust/arrayvec-0.4.11/.cargo-checksum.json
rename : third_party/rust/arrayvec/Cargo.toml => third_party/rust/arrayvec-0.4.11/Cargo.toml
rename : third_party/rust/arrayvec/README.rst => third_party/rust/arrayvec-0.4.11/README.rst
rename : third_party/rust/arrayvec/benches/extend.rs => third_party/rust/arrayvec-0.4.11/benches/extend.rs
rename : third_party/rust/arrayvec/build.rs => third_party/rust/arrayvec-0.4.11/build.rs
rename : third_party/rust/arrayvec/src/array.rs => third_party/rust/arrayvec-0.4.11/src/array.rs
rename : third_party/rust/arrayvec/src/array_string.rs => third_party/rust/arrayvec-0.4.11/src/array_string.rs
rename : third_party/rust/arrayvec/src/char.rs => third_party/rust/arrayvec-0.4.11/src/char.rs
rename : third_party/rust/arrayvec/src/lib.rs => third_party/rust/arrayvec-0.4.11/src/lib.rs
rename : third_party/rust/arrayvec/src/maybe_uninit.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_stable.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec/src/range.rs => third_party/rust/arrayvec-0.4.11/src/range.rs
rename : third_party/rust/arrayvec/tests/serde.rs => third_party/rust/arrayvec-0.4.11/tests/serde.rs
rename : third_party/rust/arrayvec/tests/tests.rs => third_party/rust/arrayvec-0.4.11/tests/tests.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
2019-11-05 19:51:15 +00:00
Sylvestre Ledru
8846618424 Bug 1593420 - Fix a sphinx warning: sphinx.build_main has moved r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D51495

--HG--
extra : moz-landing-system : lando
2019-11-05 07:31:08 +00:00
Noemi Erli
207e5af698 Backed out changeset ef59d327a1a4 (bug 1575008) for causing build bustages CLOSED TREE
--HG--
rename : third_party/rust/arrayvec-0.4.11/build.rs => third_party/rust/arrayvec/build.rs
rename : third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs => third_party/rust/arrayvec/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec-0.4.11/src/range.rs => third_party/rust/arrayvec/src/range.rs
2019-11-05 08:19:10 +02:00
Dzmitry Malyshau
6376282a47 Bug 1575008 - WebGPU implementation basis r=webidl,baku
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - https://github.com/gfx-rs/wgpu/pull/371
  - [x] macOS
    - [x] due to cross-compiling shaders - https://github.com/gfx-rs/gfx/pull/3047
    - [x] need the dependency update
    - [x] stop using gcc - https://github.com/SSheldon/rust-objc-exception/pull/5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - https://github.com/servo/ipc-channel/pull/233~~
    - [x] due to some exceptional stuff - https://github.com/grovesNL/spirv_cross/issues/121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - https://github.com/gfx-rs/gfx/pull/3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - https://github.com/KhronosGroup/SPIRV-Cross/pull/1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/arrayvec/.cargo-checksum.json => third_party/rust/arrayvec-0.4.11/.cargo-checksum.json
rename : third_party/rust/arrayvec/Cargo.toml => third_party/rust/arrayvec-0.4.11/Cargo.toml
rename : third_party/rust/arrayvec/README.rst => third_party/rust/arrayvec-0.4.11/README.rst
rename : third_party/rust/arrayvec/benches/extend.rs => third_party/rust/arrayvec-0.4.11/benches/extend.rs
rename : third_party/rust/arrayvec/build.rs => third_party/rust/arrayvec-0.4.11/build.rs
rename : third_party/rust/arrayvec/src/array.rs => third_party/rust/arrayvec-0.4.11/src/array.rs
rename : third_party/rust/arrayvec/src/array_string.rs => third_party/rust/arrayvec-0.4.11/src/array_string.rs
rename : third_party/rust/arrayvec/src/char.rs => third_party/rust/arrayvec-0.4.11/src/char.rs
rename : third_party/rust/arrayvec/src/lib.rs => third_party/rust/arrayvec-0.4.11/src/lib.rs
rename : third_party/rust/arrayvec/src/maybe_uninit.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_stable.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec/src/range.rs => third_party/rust/arrayvec-0.4.11/src/range.rs
rename : third_party/rust/arrayvec/tests/serde.rs => third_party/rust/arrayvec-0.4.11/tests/serde.rs
rename : third_party/rust/arrayvec/tests/tests.rs => third_party/rust/arrayvec-0.4.11/tests/tests.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
2019-11-05 05:08:13 +00:00
Csoregi Natalia
1e1d192ff3 Backed out changeset 9c05fa3c0fcc (bug 1575008) for bustages on WebrtcIPCTraits.h. CLOSED TREE
--HG--
rename : third_party/rust/arrayvec-0.4.11/build.rs => third_party/rust/arrayvec/build.rs
rename : third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs => third_party/rust/arrayvec/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec-0.4.11/src/range.rs => third_party/rust/arrayvec/src/range.rs
2019-11-05 06:44:15 +02:00
Jim Porter
faac13944b Bug 1592818 - Add unit tests for IPCMarkerPayload; r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D51198

--HG--
extra : moz-landing-system : lando
2019-11-05 03:56:38 +00:00
Dzmitry Malyshau
5f694cac96 Bug 1575008 - WebGPU implementation basis r=webidl,baku
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - https://github.com/gfx-rs/wgpu/pull/371
  - [x] macOS
    - [x] due to cross-compiling shaders - https://github.com/gfx-rs/gfx/pull/3047
    - [x] need the dependency update
    - [x] stop using gcc - https://github.com/SSheldon/rust-objc-exception/pull/5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - https://github.com/servo/ipc-channel/pull/233~~
    - [x] due to some exceptional stuff - https://github.com/grovesNL/spirv_cross/issues/121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - https://github.com/gfx-rs/gfx/pull/3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - https://github.com/KhronosGroup/SPIRV-Cross/pull/1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/arrayvec/.cargo-checksum.json => third_party/rust/arrayvec-0.4.11/.cargo-checksum.json
rename : third_party/rust/arrayvec/Cargo.toml => third_party/rust/arrayvec-0.4.11/Cargo.toml
rename : third_party/rust/arrayvec/README.rst => third_party/rust/arrayvec-0.4.11/README.rst
rename : third_party/rust/arrayvec/benches/extend.rs => third_party/rust/arrayvec-0.4.11/benches/extend.rs
rename : third_party/rust/arrayvec/build.rs => third_party/rust/arrayvec-0.4.11/build.rs
rename : third_party/rust/arrayvec/src/array.rs => third_party/rust/arrayvec-0.4.11/src/array.rs
rename : third_party/rust/arrayvec/src/array_string.rs => third_party/rust/arrayvec-0.4.11/src/array_string.rs
rename : third_party/rust/arrayvec/src/char.rs => third_party/rust/arrayvec-0.4.11/src/char.rs
rename : third_party/rust/arrayvec/src/lib.rs => third_party/rust/arrayvec-0.4.11/src/lib.rs
rename : third_party/rust/arrayvec/src/maybe_uninit.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_stable.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec/src/range.rs => third_party/rust/arrayvec-0.4.11/src/range.rs
rename : third_party/rust/arrayvec/tests/serde.rs => third_party/rust/arrayvec-0.4.11/tests/serde.rs
rename : third_party/rust/arrayvec/tests/tests.rs => third_party/rust/arrayvec-0.4.11/tests/tests.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
2019-11-05 04:09:23 +00:00
Thomas Wisniewski
dea46a2eed Bug 1589182 - remove mobile/android/extensions/ and /mobile/android/chrome/content (Fennec leftovers); r=snorp,agi
Remove mobile/android/extensions/ and /mobile/android/chrome/content from mozilla-central (Fennec leftovers)

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

--HG--
extra : moz-landing-system : lando
2019-11-04 20:32:10 +00:00
Gregory Mierzwinski
7e63c0206e Bug 1559727 - Set executable bit after extraction, and correct ImageMagick path. r=perftest-reviewers,stephendonner
This patch fixes some issues with binaries not being executable after being extracted. It also fixes the ImageMagick expected extraction path to the correct location. To prevent that from occuring again, a check is done after extraction to be sure that the extraction completed successfully.

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

--HG--
extra : moz-landing-system : lando
2019-11-01 18:09:26 +00:00
Nazım Can Altınova
907062f683 Bug 1586105 - Requesting the complete log to be able to debug intermittent timeout. r=julienw
Differential Revision: https://phabricator.services.mozilla.com/D51605

--HG--
extra : moz-landing-system : lando
2019-11-04 13:46:59 +00:00
Sylvestre Ledru
73c3845699 Bug 1592964 - Detail the minimal version of jsdoc expected r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D51265

--HG--
extra : moz-landing-system : lando
2019-11-02 08:19:46 +00:00
Gerald Squelart
59ae42cf8b Bug 1592887 - Gecko Profiler range starts at 1, discard Base Profile when >1 - r=florian
The buffer range starts at 1 (the first valid entry, 0 is reserved as
null marker). So if it now starts *after* 1, it means we have started to
overwrite our oldest data, and we should get rid of Base profiles if any.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 13:49:53 +00:00
Andrew Halberstadt
8517435648 Bug 1592766 - Fix some errors in the |mach try fuzzy| docs, DONTBUILD, r=egao
Differential Revision: https://phabricator.services.mozilla.com/D51177

--HG--
extra : moz-landing-system : lando
2019-10-31 00:31:47 +00:00
Andrew Halberstadt
3e56188d46 Bug 1591977 - [lint.rustfmt] Don't print issues if --fix is passed in, r=sylvestre
This matches the behaviour of the other linters.

Depends on D50822

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:30:10 +00:00
Andrew Halberstadt
d4533429eb Bug 1591977 - [lint.rustfmt] Fix error when running 'mach lint -l rustfmt --fix', r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D50822

--HG--
extra : moz-landing-system : lando
2019-10-30 21:30:27 +00:00
Gerald Squelart
1824e6f651 Bug 1584190 - In JSON profile, counters' sample_groups should be an array of objects - r=canaltinova
profile.counters[n].sample_groups was mistakenly streamed as an object, which
prevents having more than one, and goes against the published format
documentation.

The front-end was implemented to process the incorrect format, so it will need
to be updated as well; hence the version change to 18.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 22:20:06 +00:00
Gerald Squelart
9afa65594d Bug 1579333 - Replace doAtLeastOnePeriodicSample() with nsIProfiler.waitOnePeriodicSampling() - r=gregtatum
Instead of requesting profiles until it "seems" to have collected something,
use `nsIProfiler.waitOnePeriodicSampling()` to really wait for a sample to be
taken.

Note that this means some test could theoretically fail if they were in fact
waiting for stack samples to appear in the first registered thread. If that
happens, these tests should be udpated to do that extra wait-for-data.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:50:20 +00:00
Gerald Squelart
9bcbe1a229 Bug 1579333 - nsIProfiler.waitOnePeriodicSampling() - r=gregtatum,froydnj
`nsIProfiler.waitOnePeriodicSampling()` returns a promise that gets resolved
after the next full periodic sampling. The promise is rejected if the sampler is
not running.

Implementation detail: `Promise` uses single-threaded ref-counting, so special
care is needed not to touch it in the sampler thread. Safe ref-counting is
handled by `nsMainThreadPtrHolder` and `nsMainThreadPtrHandle`. And the promise
is only resolved/rejected on the main thread.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:50:11 +00:00
Gerald Squelart
403ddd8cdf Bug 1579333 - profiler_callback_after_sampling() - r=gregtatum
Register a callback to be invoked the next time the Sampler thread ends its
periodic loop.
Registration may fail (e.g., if the profiler is not active), in which case the
callback is never called.
After successful registration the callback is guaranteed to be invoked after the
sampler runs, or stops running.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:50:07 +00:00
Gregory Mierzwinski
a5c682a5cd Bug 1592400 - Update Browsertime version used in-tree. r=perftest-reviewers,rwood,dpalmeiro
This patch updgrades the current version used in-tree so that browsertime works with chrome, it currently timesout with that browser.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 17:23:56 +00:00
Julian Descottes
c87fb76740 Bug 1591013 - Support lazyImporter in reject-some-requires r=Standard8,nchevobbe
Depends on D50466

reject-some-requires only supports require/lazyRequireGetter at the moment
We still have a few call sites for lazyImporter, even though they probably should be
migrated to lazyRequireGetter IMO.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 08:31:16 +00:00
Jonathan Watt
e4ec992ba0 Bug 1591118. Make 'mach doc' provide a clearer error message when jsdoc is missing. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D50485

--HG--
extra : moz-landing-system : lando
2019-10-24 21:38:28 +00:00
Gurzau Raul
29cef09b45 Backed out 2 changesets (bug 1591013) for eslint failure at inspector/node.js on a CLOSED TREE.
Backed out changeset 5d53ab2f3152 (bug 1591013)
Backed out changeset d888aded0e70 (bug 1591013)
2019-10-30 00:56:04 +02:00
Julian Descottes
a2bad4c3c2 Bug 1591013 - Support lazyImporter in reject-some-requires r=Standard8,nchevobbe
Depends on D50466

reject-some-requires only supports require/lazyRequireGetter at the moment
We still have a few call sites for lazyImporter, even though they probably should be
migrated to lazyRequireGetter IMO.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 22:10:00 +00:00
prathiksha
f70c312dac Bug 1563355 - Remove AboutNetErrorSetAutomatic and use RPM in aboutNetError.js to communicate with AboutNetErrorHandler.jsm. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D46154

--HG--
extra : moz-landing-system : lando
2019-10-28 20:38:45 +00:00
Andrew Halberstadt
6368d98850 Bug 1591195 - [lint.shellcheck] Ensure shellcheck subprocess output is returned as text, r=sylvestre
This also adds a test which would have caught the issue.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 17:41:24 +00:00
Nicolas Chevobbe
d76b60f122 Bug 1519103 - Remove Scratchpad panel. r=bgrins.
Differential Revision: https://phabricator.services.mozilla.com/D50583

--HG--
extra : moz-landing-system : lando
2019-10-27 09:05:58 +00:00
Gerald Squelart
735dc941aa Bug 1540340 - Prevent ProfilerIOInterposeObserver recursive locking - r=gregtatum
The source of deadlock is due to profiler->lock->IO->interposer->profiler->lock
loops, where the second profiler call tries to lock the profiler mutex again.

Thanks to `profiler_is_locked_on_current_thread` the interposer can now check
whether the mutex is already locked, in which case it just won't call profiler
functions anymore, breaking the loop.

And now the profiler doesn't need to manually pause/resume/unregister the
(potential) interposer when doing I/Os.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 21:28:55 +00:00
Gerald Squelart
f41e95f095 Bug 1540340 - PSMutex can more accurately determine if the current thread owns the lock - r=njn,gregtatum
PSMutex can store the id of the thread owning the lock, and it's safe to check
whether the current thread owns that lock (either it does and no-one else can
change it, or it's another id).

Comments related to memory hooks have been moved to memory_hooks.cpp, because
`profiler_is_locked_on_current_thread()` could be used for other things.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 03:13:50 +00:00
Simon Fraser
9543684c8f Bug 1590820 Improve preview pane performance in 'mach try fuzzy -s' r=ahal
Refactored the recursion to improve its reliability, and added a caching layer.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 18:34:52 +00:00
Sylvestre Ledru
ba7c03e388 Bug 1590310 - Hide the copyright section by default r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D50028

--HG--
extra : moz-landing-system : lando
2019-10-22 17:37:38 +00:00
Julian Seward
15bcf2d929 Bug 1584976 - LUL on x86_64-{android, linux}: accept .eh_frame with type as either SHT_PROGBITS or SHT_X86_64_UNWIND. r=mstange.
The LUL unwinder on x86_64-android and x86_64-linux tries to read Dwarf unwind
information from the ELF section named ".eh_frame", and expects the section to
have type SHT_PROGBITS.  It appears that that section might instead have the
type SHT_X86_64_UNWIND, possibly as a result of recent toolchain (linker?)
changes.  This patch tracks that change.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 16:26:09 +00:00
Mihai Alexandru Michis
9fe7c34350 Backed out 2 changesets (bug 1540340) for causing bustages in shared-libraries-linux.cc and profiler/core/platform.cpp CLOSED TREE
Backed out changeset 4ee4cde55851 (bug 1540340)
Backed out changeset be6a82fd75e9 (bug 1540340)
2019-10-24 09:24:15 +03:00
Gerald Squelart
638c8cdc32 Bug 1540340 - Prevent logging when mainthredio is enabled - r=gregtatum
Logging could be intercepted by the I/O interposer, which takes the lock, this
could deadlock if the mutex had already been taken in the same thread (e.g., by
a "locked" profiler function that wants to log something).

Now, functions that hold the lock must use `LOG_LOCKED(lock, ...)`, which will
skip logging when the I/O interposer is running.
In DEBUG builds, `LOG()` checks that the lock is not owned, to find possible
misuses.

`LOG()`s outside of platform.cpp were changed to `NS_WARNING`s, because they
could not access `gPSMutex` that's defined in platform.cpp; and they're really
warnings anyway.

Some interposer pauses/resumes have been relocated to more appropriate spots:
- Not needed around `locked_profiler_stream_json_for_this_process` anymore,
  thanks to `LOG_LOCKED` inside.
- Definitely needed around `std::ofstream` operations in
  `locked_profiler_save_profile_to_file`.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 05:55:02 +00:00
Gerald Squelart
574e6bc487 Bug 1540340 - PSMutex can more accurately determine if the current thread owns the lock - r=njn,gregtatum
PSMutex can store the id of the thread owning the lock, and it's safe to check
whether the current thread owns that lock (either it does and no-one else can
change it, or it's another id).

Comments related to memory hooks have been moved to memory_hooks.cpp, because
`profiler_is_locked_on_current_thread()` could be used for other things.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 05:54:49 +00:00
Simon Fraser
13db391fa4 Bug 1590410 mach try fuzzy --show-estimates, add percentile r=ahal
A requested addition to the estimates in the preview pane, showing how large the requested set of tasks is compared to everyone else's set.

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

--HG--
extra : moz-landing-system : lando
2019-10-22 19:46:33 +00:00
Andi-Bogdan Postelnicu
336c0275ee Bug 1590415 - Remove deprecated code from the Coverity model file. r=sylvestre
Depends on D50065

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

--HG--
extra : moz-landing-system : lando
2019-10-22 16:38:50 +00:00
Sylvestre Ledru
7b84f5581b Bug 1590314 - treeherder: document 'Attach new jobs from the review' r=marco
Differential Revision: https://phabricator.services.mozilla.com/D50029

--HG--
extra : moz-landing-system : lando
2019-10-22 16:41:11 +00:00
Stephen Donner
1ac49dc296 Bug 1589203: Browsertime's --setup ImageMagick binary link for macOS is 404/outdated/broken. r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D49491

--HG--
extra : moz-landing-system : lando
2019-10-22 14:37:07 +00:00
Nazım Can Altınova
809db7ead1 Bug 1587907 - Move test content inside the BrowserTestUtils.withNewTab function callback r=gregtatum
In Bug 1587907 we got some contentPid not found errors. It seemed like we were
failing intermittently at getting content pid. After moving test content inside
the BrowserTestUtils.withNewTab callback, we won't get the same error anymore.
Also from my testing, it looks like it makes the test execution faster. We were
getting some intermittents before because of the timeouts, these will be fixed
if my testing is correct.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 16:43:31 +00:00
Gerald Squelart
0e19d51a0a Bug 1583431 - Test "No Stack Sampling" feature - r=julienw
Differential Revision: https://phabricator.services.mozilla.com/D49234

--HG--
extra : moz-landing-system : lando
2019-10-22 05:37:14 +00:00
Gerald Squelart
edd497462f Bug 1583431 - Don't wait for samples in marker-only tests - r=gregtatum,julienw
Since markers are stored directly into the buffer:
- We don't need to wait for a sampling run to collect them,
- No markers are left uncollected between the last sampling and the time we stop
  the profiler.

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

--HG--
extra : moz-landing-system : lando
2019-10-22 05:37:07 +00:00
Gerald Squelart
d57761d32e Bug 1583431 - stopProfilerNowAndGetThreads doesn't wait for samples - r=julienw
`stopProfilerAndGetThreads()` waits until at least one sample appears in the
main thread, before capturing a profile and stopping the profiler.

`stopProfilerNowAndGetThreads()` does not wait; this should be useful in tests
that may not generate any samples (e.g., using the nostacksampling feature).

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

--HG--
extra : moz-landing-system : lando
2019-10-22 05:37:00 +00:00
Jim Porter
9354dfda4a Bug 1557447 - Profiler support for IPC information; r=nika,smaug
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 20:51:07 +00:00