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

7903 Коммитов

Автор SHA1 Сообщение Дата
Aaron Klotz 03589b97f3 Bug 1637452: Part 5 - Fix JNI includes in tools/profiler; r=mstange
In this bug we're moving away from monolithic JNI headers to class-specific
headers so that we don't have to rebuild the world every time we make a change
to a JNI interface.

Differential Revision: https://phabricator.services.mozilla.com/D75368
2020-05-15 17:04:19 +00:00
Simon Fraser 7223242d99 Bug 1635321 update-packaging race condition fixes r=nthomas
conflicts with D75072, we should choose which we prefer based on bash version availability

Differential Revision: https://phabricator.services.mozilla.com/D75285
2020-05-15 03:22:08 +00:00
Sylvestre Ledru 64eef91a05 no bug - remove old references to inbound r=glob DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D75280
2020-05-14 14:03:43 +00:00
Edouard Oger afc16c8277 Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-12 21:36:19 +00:00
Tarek Ziadé 080870795e Bug 1635136 - add a --push-to-try option r=aerickson
This patch is adding an option to push a perftest run in the CI.

It's based on :
- sparse profiles
- push_to_try
- options passed through try_task_config.json

Differential Revision: https://phabricator.services.mozilla.com/D74115
2020-05-12 21:19:48 +00:00
Mitchell Hentges 08bd72ca2b Bug 1637354: Don't show time estimates for |./mach try release| r=ahal
Mach doesn't know which tasks are part of a release - that's decided in the decision task. Instead of
showing a bogus estimation, we shouldn't show one at all.

Differential Revision: https://phabricator.services.mozilla.com/D74904
2020-05-12 20:10:58 +00:00
Kartikaya Gupta 2e8b0e3383 Bug 1637271 - Avoid passing a bytes obj to json.loads with Python3. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D74898
2020-05-12 20:00:48 +00:00
Mitchell Hentges c23cde122b Bug 1637041: fix test_presets.py on windows r=rstewart
In some NT-specific code, a list of "items()" was being updated. In python 3, to modify the result
of "items()", you have to gain ownership first by explicitly converting it into a list().

Also resolves some flaky failures that were seen locally by marking test_presets.py as sequential.

Differential Revision: https://phabricator.services.mozilla.com/D74793
2020-05-12 17:52:00 +00:00
Nazım Can Altınova 2490316019 Bug 1464983 - Lower the java sampling rate to 1ms and increase the java buffer. r=gerald
We had to increase the java buffer limit to 64MiB because it was a bottleneck
and 8MiB wasn't enough for 1ms sampling rate. It was getting full pretty quick.
Even though we increased that limit, we are not going to allocate all of this
at the start. Since we are allocating the buffer chunk by chunk, we are going
to allocate only when we need.

Differential Revision: https://phabricator.services.mozilla.com/D74715
2020-05-12 10:54:13 +00:00
Gerald Squelart e1d51db19a Bug 1635570 - Cut too-long label dynamic strings and add ellipsis - r=canaltinova
If a label contains a dynamic string that's too long (512 characters or more), instead of just replacing it with "(too long)", we now cut it down to the maximum size, with an ellipsis at the end.

Added test for that in gtest. Also added nearby test for empty strings.

Differential Revision: https://phabricator.services.mozilla.com/D74378
2020-05-12 01:13:17 +00:00
Bogdan Tara a823ee6545 Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 013a469557c1 (bug 1628068)
Backed out changeset dcda2ce7b7f9 (bug 1628068)
2020-05-12 00:44:58 +03:00
Gerald Squelart bc2c84ac2b Bug 1636398 - Tweak default profiler buffer size in tests - r=canaltinova
Also removed explicit size in test_feature_nativeallocations, as we want a reasonably-big buffer in this test.

Other tests with small buffer sizes are fine, since the profiler imposes a minimum size that should be big enough to capture at least 8 large stacks (see bug 1571171).

Differential Revision: https://phabricator.services.mozilla.com/D74588
2020-05-11 13:09:50 +00:00
Edouard Oger 1493d71e42 Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 21:01:19 +00:00
Bogdan Tara 3df4970bcc Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 928a5891c55d (bug 1628068)
Backed out changeset b6fe5d357bed (bug 1628068)
2020-05-11 23:52:47 +03:00
Edouard Oger d6e7e33f9a Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 20:19:16 +00:00
Bogdan Tara 448d53548b Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 1ea8f742ca69 (bug 1628068)
Backed out changeset 3aa2f99843e0 (bug 1628068)
2020-05-11 23:06:31 +03:00
Edouard Oger 9790192f51 Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 15:17:37 +00:00
Mitchell Hentges b8108d6064 Bug 1632429: Migrate |./mach try| to python 3; r=rstewart,ahal
|./mach try| subcommands are now compatible with both python 2 and 3.

Hand-tested with many combinations of subcommand and subcommand flags.

Updates tryselect unit tests to use Python 3.

Differential Revision: https://phabricator.services.mozilla.com/D73398
2020-05-06 22:17:14 +00:00
Christian Holler 53f361c007 Bug 1635762 - Switch libFuzzer upstream to git and add local patches. r=truber
Differential Revision: https://phabricator.services.mozilla.com/D74040
2020-05-11 12:45:07 +00:00
Mihai Alexandru Michis 2df205e3f0 Backed out changeset 14b092e7a974 (bug 1635762) for causing failures in browser_Telemetry_timestamp_test.js
CLOSED TREE
2020-05-11 17:00:53 +03:00
Christian Holler b8917ab3a4 Bug 1635762 - Switch libFuzzer upstream to git and add local patches. r=truber
Differential Revision: https://phabricator.services.mozilla.com/D74040
2020-05-11 12:45:07 +00:00
Sylvestre Ledru 1929dd1ab3 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D73347
2020-05-09 14:51:53 +00:00
Jon Bauman ff79fde159 Bug 1624056 - Properly vendor mp4parse-rust. r=kinetik
This requires --build-peers-said-large-imports-were-ok since
third_party/rust/mp4parse/src/lib.rs is 113KB. This code is just moving from
media/mp4parse-rust to third_party/rust, so it's not really adding to net code
size.

Differential Revision: https://phabricator.services.mozilla.com/D74488
2020-05-09 00:36:48 +00:00
Chris Fronk af8a02cc9d Bug 1512991 - Add JsonWriteFunc::Write to take string length. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D72560
2020-05-08 16:24:31 +00:00
thomasmo 59be1c47cd Bug 1635608 - Update OpenVR source code to use Unix line endings r=daoshengmu
This change simply changes line endings to make diffing easier with updates from OpenVR, which have Unix line endings.
Further, .clang-format-ignore, does not seem to work for wildcard to match a directory and subdirectory, so all files are listed individually.

Differential Revision: https://phabricator.services.mozilla.com/D74100
2020-05-07 20:20:39 +00:00
Geoff Brown 99f9b87119 Bug 1603510 - Allow multi-word $EDITOR in 'mach try syntax --edit-presets'; r=bc
Differential Revision: https://phabricator.services.mozilla.com/D74416
2020-05-08 17:54:10 +00:00
Gerald Squelart 3b34acf6e6 Bug 1632750 - Tweak MOZ_PROFILER_STARTUP_ENTRIES default values - r=canaltinova
These defaults were per process and there are usually around 8 processes.
Now these sizes apply to all processes, so they can be 8 times as big (but less on Android where memory may be more limited.)

Not changing Base Profiler defaults, as its buffer is not cross-process controlled.

Differential Revision: https://phabricator.services.mozilla.com/D73215
2020-05-08 03:36:10 +00:00
Gerald Squelart a36880438c Bug 1632750 - ProfilerChild handling update and destruction requests - r=canaltinova
This implement the child side:
When the first request for update arrives, it connects to the local chunk manager, to receive its updates.
If multiple updates are received, they are folded into one.
If there are both an update and a pending request, the request is fulfilled with the update and local data is reset.
And ProfilerChild handles "destroy" instructions to destroy local chunks.

At this point, the whole machinery is in place, and all combined profile buffers used in all processes should use around the maximum amount allowed.
A bit more memory may still be used, e.g., due to IPC delays, and because of recycling which keeps some unused chunks alive for later reuse. But overall that should be a small amount compared to the usual user-requested limit.

Differential Revision: https://phabricator.services.mozilla.com/D72369
2020-05-08 03:35:42 +00:00
Gerald Squelart 9456ec87dd Bug 1632750 - ProfileBufferGlobalController::HandleChunkManagerUpdate logic - r=canaltinova
The logic part of the controller receives all updates, and makes decisions to destroy old chunks when the memory limit is reached.

Differential Revision: https://phabricator.services.mozilla.com/D72368
2020-05-08 03:35:25 +00:00
Gerald Squelart 80fd31a8c3 Bug 1632750 - ProfileBufferGlobalController - r=canaltinova
When there is at least one ProfilerParent (i.e., we are interacting with at least one child process) AND the parent profiler is running, the ProfilerParentTracker sets up the ProfileBufferGlobalController that will manage all chunks.
As a first step, it connects with the local chunk manager (to receive chunk updates), and sends update requests to all children.

(The actual controller logic is not implemented in this patch, nor is the ProfilerChild side, see following patches.)

Differential Revision: https://phabricator.services.mozilla.com/D72367
2020-05-08 03:35:12 +00:00
Gerald Squelart 811ee56c78 Bug 1632750 - New profiler IPDL functions to manage chunks across processes - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D72366
2020-05-08 03:34:55 +00:00
Gerald Squelart ddf7f185a4 Bug 1632750 - ProfilerParent::ProfilerWillStopIfStarted - r=canaltinova
The Gecko Profiler can notify the ProfilerParent when it's about to stop (if it was started, but the notification will happen even when it's not started).

Differential Revision: https://phabricator.services.mozilla.com/D72365
2020-05-08 03:34:32 +00:00
Gerald Squelart f1439fbad0 Bug 1632750 - profiler_get_controlled_chunk_manager - r=canaltinova
The Gecko Profiler can provide its current controlled chunk manager.
It is the responsibility of the caller to keep track of the state of the profiler, to avoid using the chunk manager after it's discarded.

Differential Revision: https://phabricator.services.mozilla.com/D72364
2020-05-08 03:34:30 +00:00
Greg Tatum 6066dc40b3 Bug 1628073 - Make the defaults for the profiler settings nicer for mochitests; r=gerald
The defaults should serve our users. I did some profiling with mochitests
and the defaults weren't ideal. It would be nice if the profiler "just worked"
for most of the situations. It would be great to teach the environment variables
about presets, but for now this will make the profiler easier to use for our
users in the general case.

This patch adds both screenshots and updates the entries count. This causes
additional overhead, but people on low-end devices can still tweak the settings
to remove that overhead.

Differential Revision: https://phabricator.services.mozilla.com/D70091
2020-05-08 00:48:55 +00:00
Jonathan Watt c6c74ac1f0 Bug 1636304. Fix and improve the Mermaid documentation. r=sylvestre
The second example, when copied and pasted, is completely borked since it
is not preceeded by the line that declares what follows to be a Mermaid
diagram. This change fixes that.

It also fixes the prose to read slightly less awkwardly in places.

Finally, this change also adds a link to the Mermaid Live Editor to make
readers aware of this useful tool.

Differential Revision: https://phabricator.services.mozilla.com/D74338
2020-05-07 23:16:00 +00:00
Simon Giesecke 61ad805d68 Bug 1626570 - Use CopyableTArray in ipdlc as member type for now. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73685
2020-05-07 08:11:08 +00:00
Cosmin Sabou c263a2a867 Merge mozilla-central to autoland. 2020-05-07 02:33:29 +03:00
Cosmin Sabou 5704c50d45 Merge autoland to mozilla-central. a=merge 2020-05-07 00:50:37 +03:00
Kartikaya Gupta 03498b143d Bug 1635142 - Update github-sync to use Authorization header instead of deprecated HTTP auth mechanism. r=kvark
Depends on D74066

Differential Revision: https://phabricator.services.mozilla.com/D74067
2020-05-06 16:09:40 +00:00
Kartikaya Gupta 447162a66b Bug 1635809 - Use |file| instead of |modifies| in the hg revset query to catch file deletions. r=kvark
Closer look at the man pages shows that the file() query will catch any file
changes, whereas the modifies() query will only capture files that were
modified, which excludes strict deletions.

Depends on D74065

Differential Revision: https://phabricator.services.mozilla.com/D74066
2020-05-06 16:09:23 +00:00
Kartikaya Gupta 2c61b5048f Bug 1635809 - Prevent crash in converter.py on debug output with non-ascii hg log data. r=kvark
This is just in debug output, so the fact that we ignore non-utf-8 chars is ok.

Depends on D74064

Differential Revision: https://phabricator.services.mozilla.com/D74065
2020-05-06 16:08:58 +00:00
Kartikaya Gupta 21f0ab510f Bug 1635809 - Update readme.md to include some semblance of debugging instructions. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D74064
2020-05-06 17:29:52 +00:00
Gerald Squelart 9eb780f5ef Bug 1635338 - profiler_is_locked_on_current_thread() now also checks for the buffer lock - r=gregtatum,canaltinova
profiler_is_locked_on_current_thread() is used to help users avoid calling `profiler_...` functions when the profiler may already have a lock in place, which would prevent a 2nd recursive lock (resulting in a crash or a never-ending wait).
So we must return `true` for any of:
- The main profiler mutex, used by most functions, and/or
- The buffer mutex, used directly in some functions without locking the main mutex, e.g., marker-related functions.

Differential Revision: https://phabricator.services.mozilla.com/D73789
2020-05-06 12:45:40 +00:00
Greg V e65e9412b0 Bug 1634205 - Support Gecko Profiler and Base Profiler on FreeBSD r=mstange
- supports amd64 and arm64 (aarch64)
- uses LUL for stack walking

Differential Revision: https://phabricator.services.mozilla.com/D73162
2020-05-06 17:44:19 +00:00
Mihai Alexandru Michis 6c13bc9a50 Backed out changeset 2f5143da4986 (bug 1631584) for causing gv jobs to fail as exceptions.
CLOSED TREE
2020-05-06 02:23:54 +03:00
Markus Stange 16fc9519a1 Bug 1578726 - Stop looking for non-existent EnterJIT frames. r=gerald
At the time this code was written, JavaScript JIT entry trampolines were
emitting EnterJIT label frames that carried a stack address. From this stack
address, register values could be recovered that would allow native stack
unwinding to resume after getting lost in JIT code.

The EnterJIT label frame was removed in bug 1057082.

Differential Revision: https://phabricator.services.mozilla.com/D73939
2020-05-05 22:53:45 +00:00
Gerald Squelart 29ec866e31 Bug 1635196 - Make sure GetSymbolTableMozPromise promise is always fulfilled - r=mstange
In rare cases, a dispatch may fail (e.g., threads are shutting down), we should handle this failure by rejecting the promise on the spot.

Depends on D73791

Differential Revision: https://phabricator.services.mozilla.com/D73792
2020-05-05 21:06:15 +00:00
Gerald Squelart 32a725405b Bug 1635196 - GetSymbolTableMozPromise can fulfill the promise on any thread - r=mstange
It is not necessary to dispatch another task to the main thread to resolve/reject a MozPromiseHolder, because wherever this happens, the attached `Then` will do its own dispatch to the main thread.
Also, this removes a dispatch that could potentially fail, leaving the promise unfulfilled.

Depends on D73790

Differential Revision: https://phabricator.services.mozilla.com/D73791
2020-05-05 21:07:24 +00:00
Gerald Squelart 52ffb43ad5 Bug 1635196 - Make sure profile-gathering promise is fulfilled before destroying holder - r=mstange
While gathering profiles from child processes, some actions (e.g., shutting down, restarting the profiler) may reset the gathering operation.
In this case we must ensure that the promise is rejected if not already fulfilled, so that anyone waiting on it won't be blocked forever (and MozPromise enforces it in a MOZ_DIAGNOSTIC_ASSERT).

Differential Revision: https://phabricator.services.mozilla.com/D73790
2020-05-05 21:07:34 +00:00
Markus Stange 6725e6df9a Bug 1634784 - Remove MOZ_BASE_PROFILER and replace it with MOZ_GECKO_PROFILER everywhere. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D73526
2020-05-05 21:44:11 +00:00